
wchar_t printf_parse(char *format,char_directives *d,arguments *a)

{
  char_directive *pcVar1;
  argument *paVar2;
  byte bVar3;
  arg_type aVar4;
  byte bVar5;
  arg_type aVar6;
  byte *pbVar7;
  byte *pbVar8;
  char_directive *__dest;
  int *piVar9;
  ulong uVar10;
  byte *pbVar11;
  ulong uVar12;
  uint uVar13;
  char_directive *pcVar14;
  argument *paVar15;
  size_t sVar16;
  ulong uVar17;
  bool bVar18;
  ulong local_90;
  ulong local_88;
  argument *local_78;
  ulong local_70;
  ulong local_68;
  size_t local_60;
  ulong local_50;
  argument *local_48;
  argument *local_40;
  
  d->count = 0;
  pcVar1 = d->direct_alloc_dir;
  d->dir = pcVar1;
  a->count = 0;
  paVar2 = a->direct_alloc_arg;
  a->arg = paVar2;
  local_70 = 0;
  local_88 = 0;
  local_90 = 7;
  local_68 = 7;
  local_60 = 0;
  local_50 = 0xffffffffffffffff;
LAB_00110cf5:
  do {
    pbVar7 = (byte *)format;
    if (*pbVar7 == 0) {
      d->dir[d->count].dir_start = (char *)pbVar7;
      d->max_width_length = local_88;
      d->max_precision_length = local_70;
      return L'\0';
    }
    format = (char *)(pbVar7 + 1);
  } while (*pbVar7 != 0x25);
  pcVar14 = d->dir + d->count;
  pcVar14->dir_start = (char *)pbVar7;
  pcVar14->flags = L'\0';
  pcVar14->width_start = (char *)0x0;
  pcVar14->width_end = (char *)0x0;
  pcVar14->width_arg_index = 0xffffffffffffffff;
  pcVar14->precision_start = (char *)0x0;
  pcVar14->precision_end = (char *)0x0;
  pcVar14->precision_arg_index = 0xffffffffffffffff;
  pcVar14->arg_index = 0xffffffffffffffff;
  bVar5 = pbVar7[1];
  sVar16 = 0xffffffffffffffff;
  pbVar7 = (byte *)format;
  if ((byte)(bVar5 - 0x30) < 10) {
    do {
      bVar3 = pbVar7[1];
      pbVar7 = pbVar7 + 1;
    } while ((byte)(bVar3 - 0x30) < 10);
    sVar16 = 0xffffffffffffffff;
    if (bVar3 == 0x24) {
      uVar17 = 0;
      do {
        uVar12 = local_50;
        if (uVar17 < 0x199999999999999a) {
          uVar12 = uVar17 * 10;
        }
        uVar17 = (long)((char)bVar5 + -0x30) + uVar12;
        if (CARRY8((long)((char)bVar5 + -0x30),uVar12)) {
          bVar5 = ((byte *)format)[1];
          uVar17 = local_50;
          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;
        }
        else {
          bVar5 = ((byte *)format)[1];
          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00110dec;
        }
        format = (char *)((byte *)format + 1);
      } while( true );
    }
  }
  goto LAB_00110e08;
LAB_00110dec:
  sVar16 = uVar17 - 1;
  if (sVar16 < 0xfffffffffffffffe) {
    format = (char *)((byte *)format + 2);
LAB_00110e08:
    do {
      bVar5 = *format;
      if (bVar5 == 0x27) {
        pcVar14->flags = pcVar14->flags | 1;
      }
      else if (bVar5 == 0x2d) {
        pcVar14->flags = pcVar14->flags | 2;
      }
      else if (bVar5 == 0x2b) {
        pcVar14->flags = pcVar14->flags | 4;
      }
      else if (bVar5 == 0x20) {
        pcVar14->flags = pcVar14->flags | 8;
      }
      else if (bVar5 == 0x23) {
        pcVar14->flags = pcVar14->flags | 0x10;
      }
      else if (bVar5 == 0x30) {
        pcVar14->flags = pcVar14->flags | 0x20;
      }
      else {
        if (bVar5 != 0x49) goto LAB_00110e55;
        pcVar14->flags = pcVar14->flags | 0x40;
      }
      format = (char *)((byte *)format + 1);
    } while( true );
  }
  goto switchD_001113be_caseD_26;
LAB_00110e55:
  if (bVar5 == 0x2a) {
    pcVar14->width_start = format;
    pbVar7 = (byte *)format + 1;
    pcVar14->width_end = (char *)pbVar7;
    uVar17 = 1;
    if (local_88 != 0) {
      uVar17 = local_88;
    }
    bVar5 = ((byte *)format)[1];
    pbVar8 = pbVar7;
    if ((byte)(bVar5 - 0x30) < 10) {
      do {
        bVar3 = pbVar8[1];
        pbVar8 = pbVar8 + 1;
      } while ((byte)(bVar3 - 0x30) < 10);
      if (bVar3 == 0x24) {
        uVar12 = 0;
        do {
          uVar10 = local_50;
          if (uVar12 < 0x199999999999999a) {
            uVar10 = uVar12 * 10;
          }
          uVar12 = (long)((char)bVar5 + -0x30) + uVar10;
          if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {
            bVar5 = pbVar7[1];
            uVar12 = local_50;
            if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;
          }
          else {
            bVar5 = pbVar7[1];
            if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111003;
          }
          pbVar7 = pbVar7 + 1;
        } while( true );
      }
    }
    if (pcVar14->width_arg_index == 0xffffffffffffffff) {
      pcVar14->width_arg_index = local_60;
      bVar18 = local_60 == 0xffffffffffffffff;
      local_60 = local_60 + 1;
      if (bVar18) goto switchD_001113be_caseD_26;
    }
    goto LAB_00110ebb;
  }
  pbVar7 = (byte *)format;
  uVar17 = local_88;
  if ((byte)(bVar5 - 0x30) < 10) {
    pcVar14->width_start = format;
    bVar5 = *format;
    while ((byte)(bVar5 - 0x30) < 10) {
      pbVar7 = pbVar7 + 1;
      bVar5 = *pbVar7;
    }
    pcVar14->width_end = (char *)pbVar7;
    uVar17 = (long)pbVar7 - (long)format;
    if ((ulong)((long)pbVar7 - (long)format) <= local_88) {
      uVar17 = local_88;
    }
  }
LAB_00110e66:
  local_88 = uVar17;
  pbVar8 = pbVar7;
  uVar17 = local_70;
  if (*pbVar7 != 0x2e) goto LAB_00110e6f;
  if (pbVar7[1] != 0x2a) {
    pbVar8 = pbVar7 + 1;
    pcVar14->precision_start = (char *)pbVar7;
    bVar5 = pbVar7[1];
    while ((byte)(bVar5 - 0x30) < 10) {
      pbVar8 = pbVar8 + 1;
      bVar5 = *pbVar8;
    }
    pcVar14->precision_end = (char *)pbVar8;
    uVar17 = (long)pbVar8 - (long)pbVar7;
    if ((ulong)((long)pbVar8 - (long)pbVar7) <= local_70) {
      uVar17 = local_70;
    }
    goto LAB_00110e6f;
  }
  pcVar14->precision_start = (char *)pbVar7;
  pbVar8 = pbVar7 + 2;
  pcVar14->precision_end = (char *)pbVar8;
  uVar17 = 2;
  if (1 < local_70) {
    uVar17 = local_70;
  }
  bVar5 = pbVar7[2];
  pbVar11 = pbVar8;
  if ((byte)(bVar5 - 0x30) < 10) {
    do {
      bVar3 = pbVar11[1];
      pbVar11 = pbVar11 + 1;
    } while ((byte)(bVar3 - 0x30) < 10);
    if (bVar3 == 0x24) {
      pbVar7 = pbVar7 + 2;
      uVar12 = 0;
      do {
        uVar10 = local_50;
        if (uVar12 < 0x199999999999999a) {
          uVar10 = uVar12 * 10;
        }
        uVar12 = (long)((char)bVar5 + -0x30) + uVar10;
        if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {
          bVar5 = pbVar7[1];
          uVar12 = local_50;
          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;
        }
        else {
          bVar5 = pbVar7[1];
          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111244;
        }
        pbVar7 = pbVar7 + 1;
      } while( true );
    }
  }
  if (pcVar14->precision_arg_index == 0xffffffffffffffff) {
    pcVar14->precision_arg_index = local_60;
    bVar18 = local_60 == 0xffffffffffffffff;
    local_60 = local_60 + 1;
    if (bVar18) goto switchD_001113be_caseD_26;
  }
  goto LAB_0011110c;
LAB_00111003:
  uVar12 = uVar12 - 1;
  if (0xfffffffffffffffd < uVar12) goto switchD_001113be_caseD_26;
  pcVar14->width_arg_index = uVar12;
  pbVar7 = pbVar7 + 2;
LAB_00110ebb:
  uVar12 = pcVar14->width_arg_index;
  if (uVar12 < local_90) {
LAB_00110f4e:
    uVar10 = a->count;
    while (uVar10 <= uVar12) {
      a->count = uVar10 + 1;
      a->arg[uVar10].type = TYPE_NONE;
      uVar10 = a->count;
    }
    aVar6 = a->arg[uVar12].type;
    if (aVar6 == TYPE_NONE) {
      a->arg[uVar12].type = TYPE_INT;
    }
    else if (aVar6 != TYPE_INT) goto switchD_001113be_caseD_26;
    goto LAB_00110e66;
  }
  if ((-1 < (long)local_90) &&
     (((local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))
      && (local_90 < 0x800000000000000)))) {
    if (paVar2 == a->arg) {
      local_78 = (argument *)malloc(local_90 << 5);
    }
    else {
      local_78 = (argument *)realloc(a->arg,local_90 << 5);
    }
    if (local_78 != (argument *)0x0) {
      if (paVar2 == a->arg) {
        memcpy(local_78,a->arg,a->count << 5);
      }
      a->arg = local_78;
      goto LAB_00110f4e;
    }
  }
  goto LAB_00111292;
LAB_0011139e:
  format = (char *)(pbVar8 + 1);
  switch(bVar5) {
  case 0x25:
    goto switchD_001113be_caseD_25;
  default:
    goto switchD_001113be_caseD_26;
  case 0x41:
  case 0x45:
  case 0x46:
  case 0x47:
  case 0x61:
  case 0x65:
  case 0x66:
  case 0x67:
    aVar6 = TYPE_LONGDOUBLE;
    if ((int)uVar13 < 0x10) {
      aVar6 = ((uVar13 & 4) != 0) + TYPE_DOUBLE;
    }
    break;
  case 0x43:
    aVar6 = TYPE_WIDE_CHAR;
    bVar5 = 99;
    break;
  case 0x53:
    aVar6 = TYPE_WIDE_STRING;
    bVar5 = 0x73;
    break;
  case 0x58:
  case 0x6f:
  case 0x75:
  case 0x78:
    aVar6 = TYPE_ULONGLONGINT;
    if ((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&
       ((aVar6 = TYPE_ULONGINT, (int)uVar13 < 8 && (aVar6 = TYPE_UCHAR, (uVar13 & 2) == 0)))) {
      aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_USHORT;
    }
    break;
  case 99:
    aVar6 = (7 < (int)uVar13) + TYPE_CHAR;
    break;
  case 100:
  case 0x69:
    aVar6 = TYPE_LONGLONGINT;
    if (((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) && (aVar6 = TYPE_LONGINT, (int)uVar13 < 8))
       && (aVar6 = TYPE_SCHAR, (uVar13 & 2) == 0)) {
      aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_SHORT;
    }
    break;
  case 0x6e:
    aVar6 = TYPE_COUNT_LONGLONGINT_POINTER;
    if ((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&
       ((aVar6 = TYPE_COUNT_LONGINT_POINTER, (int)uVar13 < 8 &&
        (aVar6 = TYPE_COUNT_SCHAR_POINTER, (uVar13 & 2) == 0)))) {
      aVar6 = (uVar13 & 1 ^ 1) + TYPE_COUNT_SHORT_POINTER;
    }
    break;
  case 0x70:
    aVar6 = TYPE_POINTER;
    break;
  case 0x73:
    aVar6 = (7 < (int)uVar13) + TYPE_STRING;
  }
  if (sVar16 == 0xffffffffffffffff) {
    pcVar14->arg_index = local_60;
    bVar18 = local_60 == 0xffffffffffffffff;
    local_60 = local_60 + 1;
    if (bVar18) goto switchD_001113be_caseD_26;
  }
  else {
    pcVar14->arg_index = sVar16;
  }
  uVar17 = pcVar14->arg_index;
  if (uVar17 < local_90) {
LAB_001115b1:
    uVar12 = a->count;
    while (uVar12 <= uVar17) {
      a->count = uVar12 + 1;
      a->arg[uVar12].type = TYPE_NONE;
      uVar12 = a->count;
    }
    aVar4 = a->arg[uVar17].type;
    if (aVar4 == TYPE_NONE) {
      a->arg[uVar17].type = aVar6;
    }
    else if (aVar4 != aVar6) goto switchD_001113be_caseD_26;
switchD_001113be_caseD_25:
    pcVar14->conversion = bVar5;
    pcVar14->dir_end = format;
    uVar17 = d->count + 1;
    d->count = uVar17;
    if (uVar17 < local_68) goto LAB_00110cf5;
    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;
    pcVar14 = d->dir;
    if (pcVar1 != pcVar14) {
      __dest = (char_directive *)realloc(pcVar14,local_68 * 0xb0);
      if (__dest == (char_directive *)0x0) goto LAB_00111292;
      pcVar14 = d->dir;
      if (pcVar1 != pcVar14) goto LAB_0011166e;
LAB_00111732:
      memcpy(__dest,pcVar14,d->count * 0x58);
LAB_0011166e:
      d->dir = __dest;
      local_68 = local_68 * 2;
      goto LAB_00110cf5;
    }
    __dest = (char_directive *)malloc(local_68 * 0xb0);
    if (__dest != (char_directive *)0x0) goto LAB_00111732;
    paVar15 = a->arg;
    if (paVar2 == paVar15) goto LAB_001112b2;
    goto LAB_0011129d;
  }
  if ((((long)local_90 < 0) ||
      ((local_90 = local_90 * 2, local_90 <= uVar17 && (local_90 = uVar17 + 1, local_90 < uVar17))))
     || (0x7ffffffffffffff < local_90)) goto LAB_00111292;
  local_48 = a->arg;
  if (paVar2 != local_48) {
    local_40 = (argument *)realloc(local_48,local_90 << 5);
    if (local_40 != (argument *)0x0) {
      local_48 = a->arg;
      if (paVar2 == local_48) goto LAB_001116c7;
      goto LAB_001115a8;
    }
    goto LAB_00111292;
  }
  local_40 = (argument *)malloc(local_90 << 5);
  if (local_40 != (argument *)0x0) {
LAB_001116c7:
    memcpy(local_40,local_48,a->count << 5);
LAB_001115a8:
    a->arg = local_40;
    goto LAB_001115b1;
  }
  goto LAB_001112a2;
LAB_00111244:
  uVar12 = uVar12 - 1;
  if (0xfffffffffffffffd < uVar12) goto switchD_001113be_caseD_26;
  pcVar14->precision_arg_index = uVar12;
  pbVar8 = pbVar7 + 2;
LAB_0011110c:
  uVar12 = pcVar14->precision_arg_index;
  if (uVar12 < local_90) {
LAB_0011118d:
    uVar10 = a->count;
    while (uVar10 <= uVar12) {
      a->count = uVar10 + 1;
      a->arg[uVar10].type = TYPE_NONE;
      uVar10 = a->count;
    }
    aVar6 = a->arg[uVar12].type;
    if (aVar6 == TYPE_NONE) {
      a->arg[uVar12].type = TYPE_INT;
    }
    else if (aVar6 != TYPE_INT) {
switchD_001113be_caseD_26:
      if (paVar2 != a->arg) {
        free(a->arg);
      }
      if (pcVar1 != d->dir) {
        free(d->dir);
      }
      piVar9 = __errno_location();
      *piVar9 = 0x16;
      return L'\xffffffff';
    }
LAB_00110e6f:
    local_70 = uVar17;
    uVar13 = 0;
    do {
      bVar5 = *pbVar8;
      if (bVar5 == 0x68) {
        uVar13 = uVar13 | 1 << ((byte)uVar13 & 1);
      }
      else if (bVar5 == 0x4c) {
        uVar13 = uVar13 | 4;
      }
      else if (bVar5 == 0x6c) {
        uVar13 = uVar13 + 8;
      }
      else if (bVar5 == 0x6a) {
        uVar13 = uVar13 + 8;
      }
      else if ((bVar5 & 0xdf) == 0x5a) {
        uVar13 = uVar13 + 8;
      }
      else {
        if (bVar5 != 0x74) goto LAB_0011139e;
        uVar13 = uVar13 + 8;
      }
      pbVar8 = pbVar8 + 1;
    } while( true );
  }
  if (((-1 < (long)local_90) &&
      ((local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))))
     && (local_90 < 0x800000000000000)) {
    if (paVar2 == a->arg) {
      local_78 = (argument *)malloc(local_90 << 5);
      if (local_78 != (argument *)0x0) {
        paVar15 = a->arg;
LAB_001112dd:
        memcpy(local_78,paVar15,a->count << 5);
        goto LAB_00111184;
      }
    }
    else {
      local_78 = (argument *)realloc(a->arg,local_90 << 5);
      if (local_78 != (argument *)0x0) {
        paVar15 = a->arg;
        if (paVar2 == paVar15) goto LAB_001112dd;
LAB_00111184:
        a->arg = local_78;
        goto LAB_0011118d;
      }
    }
  }
LAB_00111292:
  paVar15 = a->arg;
  if (paVar2 != paVar15) {
LAB_0011129d:
    free(paVar15);
  }
LAB_001112a2:
  if (pcVar1 != d->dir) {
    free(d->dir);
  }
LAB_001112b2:
  piVar9 = __errno_location();
  *piVar9 = 0xc;
  return L'\xffffffff';
}



undefined8 FUN_00110c80(byte *param_1,ulong *param_2,ulong *param_3)

{
  ulong *puVar1;
  ulong *puVar2;
  undefined8 *puVar3;
  byte bVar4;
  int iVar5;
  byte bVar6;
  int iVar7;
  byte *pbVar8;
  void *__dest;
  int *piVar9;
  ulong uVar10;
  ulong uVar11;
  byte *pbVar12;
  ulong uVar13;
  uint uVar14;
  ulong *puVar15;
  ulong uVar16;
  bool bVar17;
  ulong local_90;
  ulong local_88;
  void *local_78;
  ulong local_70;
  ulong local_68;
  long local_60;
  ulong local_50;
  ulong *local_48;
  void *local_40;
  
  *param_2 = 0;
  puVar1 = param_2 + 4;
  param_2[1] = (ulong)puVar1;
  *param_3 = 0;
  puVar2 = param_3 + 2;
  param_3[1] = (ulong)puVar2;
  local_70 = 0;
  local_88 = 0;
  local_90 = 7;
  local_68 = 7;
  local_60 = 0;
  local_50 = 0xffffffffffffffff;
LAB_00110cf5:
  do {
    pbVar8 = param_1;
    if (*pbVar8 == 0) {
      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;
      param_2[2] = local_88;
      param_2[3] = local_70;
      return 0;
    }
    param_1 = pbVar8 + 1;
  } while (*pbVar8 != 0x25);
  puVar3 = (undefined8 *)(param_2[1] + *param_2 * 0x58);
  *puVar3 = pbVar8;
  *(undefined4 *)(puVar3 + 2) = 0;
  puVar3[3] = 0;
  puVar3[4] = 0;
  puVar3[5] = 0xffffffffffffffff;
  puVar3[6] = 0;
  puVar3[7] = 0;
  puVar3[8] = 0xffffffffffffffff;
  puVar3[10] = 0xffffffffffffffff;
  bVar6 = pbVar8[1];
  uVar16 = 0xffffffffffffffff;
  pbVar8 = param_1;
  if ((byte)(bVar6 - 0x30) < 10) {
    do {
      bVar4 = pbVar8[1];
      pbVar8 = pbVar8 + 1;
    } while ((byte)(bVar4 - 0x30) < 10);
    uVar16 = 0xffffffffffffffff;
    if (bVar4 == 0x24) {
      uVar16 = 0;
      do {
        uVar10 = local_50;
        if (uVar16 < 0x199999999999999a) {
          uVar10 = uVar16 * 10;
        }
        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;
        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {
          bVar6 = param_1[1];
          uVar16 = local_50;
          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;
        }
        else {
          bVar6 = param_1[1];
          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;
        }
        param_1 = param_1 + 1;
      } while( true );
    }
  }
  goto LAB_00110e08;
LAB_00110dec:
  uVar16 = uVar16 - 1;
  if (uVar16 < 0xfffffffffffffffe) {
    param_1 = param_1 + 2;
LAB_00110e08:
    do {
      bVar6 = *param_1;
      if (bVar6 == 0x27) {
        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;
      }
      else if (bVar6 == 0x2d) {
        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;
      }
      else if (bVar6 == 0x2b) {
        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;
      }
      else if (bVar6 == 0x20) {
        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;
      }
      else if (bVar6 == 0x23) {
        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;
      }
      else if (bVar6 == 0x30) {
        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;
      }
      else {
        if (bVar6 != 0x49) goto LAB_00110e55;
        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;
      }
      param_1 = param_1 + 1;
    } while( true );
  }
  goto switchD_001113be_caseD_26;
LAB_00110e55:
  if (bVar6 == 0x2a) {
    puVar3[3] = param_1;
    pbVar8 = param_1 + 1;
    puVar3[4] = pbVar8;
    uVar10 = 1;
    if (local_88 != 0) {
      uVar10 = local_88;
    }
    bVar6 = param_1[1];
    pbVar12 = pbVar8;
    if ((byte)(bVar6 - 0x30) < 10) {
      do {
        bVar4 = pbVar12[1];
        pbVar12 = pbVar12 + 1;
      } while ((byte)(bVar4 - 0x30) < 10);
      if (bVar4 == 0x24) {
        uVar13 = 0;
        do {
          uVar11 = local_50;
          if (uVar13 < 0x199999999999999a) {
            uVar11 = uVar13 * 10;
          }
          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;
          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {
            bVar6 = pbVar8[1];
            uVar13 = local_50;
            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;
          }
          else {
            bVar6 = pbVar8[1];
            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;
          }
          pbVar8 = pbVar8 + 1;
        } while( true );
      }
    }
    if (puVar3[5] == -1) {
      puVar3[5] = local_60;
      bVar17 = local_60 == -1;
      local_60 = local_60 + 1;
      if (bVar17) goto switchD_001113be_caseD_26;
    }
    goto LAB_00110ebb;
  }
  pbVar8 = param_1;
  uVar10 = local_88;
  if ((byte)(bVar6 - 0x30) < 10) {
    puVar3[3] = param_1;
    bVar6 = *param_1;
    while ((byte)(bVar6 - 0x30) < 10) {
      pbVar8 = pbVar8 + 1;
      bVar6 = *pbVar8;
    }
    puVar3[4] = pbVar8;
    uVar10 = (long)pbVar8 - (long)param_1;
    if ((ulong)((long)pbVar8 - (long)param_1) <= local_88) {
      uVar10 = local_88;
    }
  }
LAB_00110e66:
  local_88 = uVar10;
  param_1 = pbVar8;
  uVar10 = local_70;
  if (*pbVar8 != 0x2e) goto LAB_00110e6f;
  if (pbVar8[1] != 0x2a) {
    param_1 = pbVar8 + 1;
    puVar3[6] = pbVar8;
    bVar6 = pbVar8[1];
    while ((byte)(bVar6 - 0x30) < 10) {
      param_1 = param_1 + 1;
      bVar6 = *param_1;
    }
    puVar3[7] = param_1;
    uVar10 = (long)param_1 - (long)pbVar8;
    if ((ulong)((long)param_1 - (long)pbVar8) <= local_70) {
      uVar10 = local_70;
    }
    goto LAB_00110e6f;
  }
  puVar3[6] = pbVar8;
  param_1 = pbVar8 + 2;
  puVar3[7] = param_1;
  uVar10 = 2;
  if (1 < local_70) {
    uVar10 = local_70;
  }
  bVar6 = pbVar8[2];
  pbVar12 = param_1;
  if ((byte)(bVar6 - 0x30) < 10) {
    do {
      bVar4 = pbVar12[1];
      pbVar12 = pbVar12 + 1;
    } while ((byte)(bVar4 - 0x30) < 10);
    if (bVar4 == 0x24) {
      pbVar8 = pbVar8 + 2;
      uVar13 = 0;
      do {
        uVar11 = local_50;
        if (uVar13 < 0x199999999999999a) {
          uVar11 = uVar13 * 10;
        }
        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;
        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {
          bVar6 = pbVar8[1];
          uVar13 = local_50;
          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;
        }
        else {
          bVar6 = pbVar8[1];
          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;
        }
        pbVar8 = pbVar8 + 1;
      } while( true );
    }
  }
  if (puVar3[8] == -1) {
    puVar3[8] = local_60;
    bVar17 = local_60 == -1;
    local_60 = local_60 + 1;
    if (bVar17) goto switchD_001113be_caseD_26;
  }
  goto LAB_0011110c;
LAB_00111003:
  uVar13 = uVar13 - 1;
  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;
  puVar3[5] = uVar13;
  pbVar8 = pbVar8 + 2;
LAB_00110ebb:
  uVar13 = puVar3[5];
  if (uVar13 < local_90) {
LAB_00110f4e:
    uVar11 = *param_3;
    while (uVar11 <= uVar13) {
      *param_3 = uVar11 + 1;
      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;
      uVar11 = *param_3;
    }
    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);
    iVar7 = *piVar9;
    if (iVar7 == 0) {
      *piVar9 = 5;
    }
    else if (iVar7 != 5) goto switchD_001113be_caseD_26;
    goto LAB_00110e66;
  }
  if ((-1 < (long)local_90) &&
     (((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))
      && (local_90 < 0x800000000000000)))) {
    if (puVar2 == (ulong *)param_3[1]) {
      local_78 = malloc(local_90 << 5);
    }
    else {
      local_78 = realloc((ulong *)param_3[1],local_90 << 5);
    }
    if (local_78 != (void *)0x0) {
      if (puVar2 == (ulong *)param_3[1]) {
        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);
      }
      param_3[1] = (ulong)local_78;
      goto LAB_00110f4e;
    }
  }
  goto LAB_00111292;
LAB_0011139e:
  param_1 = param_1 + 1;
  switch(bVar6) {
  case 0x25:
    goto switchD_001113be_caseD_25;
  default:
    goto switchD_001113be_caseD_26;
  case 0x41:
  case 0x45:
  case 0x46:
  case 0x47:
  case 0x61:
  case 0x65:
  case 0x66:
  case 0x67:
    iVar7 = 0xc;
    if ((int)uVar14 < 0x10) {
      iVar7 = ((uVar14 & 4) != 0) + 0xb;
    }
    break;
  case 0x43:
    iVar7 = 0xe;
    bVar6 = 99;
    break;
  case 0x53:
    iVar7 = 0x10;
    bVar6 = 0x73;
    break;
  case 0x58:
  case 0x6f:
  case 0x75:
  case 0x78:
    iVar7 = 10;
    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&
       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {
      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;
    }
    break;
  case 99:
    iVar7 = (7 < (int)uVar14) + 0xd;
    break;
  case 100:
  case 0x69:
    iVar7 = 9;
    if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&
       (iVar7 = 1, (uVar14 & 2) == 0)) {
      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;
    }
    break;
  case 0x6e:
    iVar7 = 0x16;
    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&
       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {
      iVar7 = (uVar14 & 1 ^ 1) + 0x13;
    }
    break;
  case 0x70:
    iVar7 = 0x11;
    break;
  case 0x73:
    iVar7 = (7 < (int)uVar14) + 0xf;
  }
  if (uVar16 == 0xffffffffffffffff) {
    puVar3[10] = local_60;
    bVar17 = local_60 == -1;
    local_60 = local_60 + 1;
    if (bVar17) goto switchD_001113be_caseD_26;
  }
  else {
    puVar3[10] = uVar16;
  }
  uVar16 = puVar3[10];
  if (uVar16 < local_90) {
LAB_001115b1:
    uVar10 = *param_3;
    while (uVar10 <= uVar16) {
      *param_3 = uVar10 + 1;
      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;
      uVar10 = *param_3;
    }
    piVar9 = (int *)(uVar16 * 0x20 + param_3[1]);
    iVar5 = *piVar9;
    if (iVar5 == 0) {
      *piVar9 = iVar7;
    }
    else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;
switchD_001113be_caseD_25:
    *(byte *)(puVar3 + 9) = bVar6;
    puVar3[1] = param_1;
    uVar16 = *param_2;
    *param_2 = uVar16 + 1;
    if (uVar16 + 1 < local_68) goto LAB_00110cf5;
    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;
    puVar15 = (ulong *)param_2[1];
    if (puVar1 != puVar15) {
      __dest = realloc(puVar15,local_68 * 0xb0);
      if (__dest == (void *)0x0) goto LAB_00111292;
      puVar15 = (ulong *)param_2[1];
      if (puVar1 != puVar15) goto LAB_0011166e;
LAB_00111732:
      memcpy(__dest,puVar15,*param_2 * 0x58);
LAB_0011166e:
      param_2[1] = (ulong)__dest;
      local_68 = local_68 * 2;
      goto LAB_00110cf5;
    }
    __dest = malloc(local_68 * 0xb0);
    if (__dest != (void *)0x0) goto LAB_00111732;
    puVar15 = (ulong *)param_3[1];
    if (puVar2 == puVar15) goto LAB_001112b2;
    goto LAB_0011129d;
  }
  if ((((long)local_90 < 0) ||
      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))
     || (0x7ffffffffffffff < local_90)) goto LAB_00111292;
  local_48 = (ulong *)param_3[1];
  if (puVar2 != local_48) {
    local_40 = realloc(local_48,local_90 << 5);
    if (local_40 != (void *)0x0) {
      local_48 = (ulong *)param_3[1];
      if (puVar2 == local_48) goto LAB_001116c7;
      goto LAB_001115a8;
    }
    goto LAB_00111292;
  }
  local_40 = malloc(local_90 << 5);
  if (local_40 != (void *)0x0) {
LAB_001116c7:
    memcpy(local_40,local_48,*param_3 << 5);
LAB_001115a8:
    param_3[1] = (ulong)local_40;
    goto LAB_001115b1;
  }
  goto LAB_001112a2;
LAB_00111244:
  uVar13 = uVar13 - 1;
  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;
  puVar3[8] = uVar13;
  param_1 = pbVar8 + 2;
LAB_0011110c:
  uVar13 = puVar3[8];
  if (uVar13 < local_90) {
LAB_0011118d:
    uVar11 = *param_3;
    while (uVar11 <= uVar13) {
      *param_3 = uVar11 + 1;
      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;
      uVar11 = *param_3;
    }
    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);
    iVar7 = *piVar9;
    if (iVar7 == 0) {
      *piVar9 = 5;
    }
    else if (iVar7 != 5) {
switchD_001113be_caseD_26:
      if (puVar2 != (ulong *)param_3[1]) {
        free((ulong *)param_3[1]);
      }
      if (puVar1 != (ulong *)param_2[1]) {
        free((ulong *)param_2[1]);
      }
      piVar9 = __errno_location();
      *piVar9 = 0x16;
      return 0xffffffff;
    }
LAB_00110e6f:
    local_70 = uVar10;
    uVar14 = 0;
    do {
      bVar6 = *param_1;
      if (bVar6 == 0x68) {
        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);
      }
      else if (bVar6 == 0x4c) {
        uVar14 = uVar14 | 4;
      }
      else if (bVar6 == 0x6c) {
        uVar14 = uVar14 + 8;
      }
      else if (bVar6 == 0x6a) {
        uVar14 = uVar14 + 8;
      }
      else if ((bVar6 & 0xdf) == 0x5a) {
        uVar14 = uVar14 + 8;
      }
      else {
        if (bVar6 != 0x74) goto LAB_0011139e;
        uVar14 = uVar14 + 8;
      }
      param_1 = param_1 + 1;
    } while( true );
  }
  if (((-1 < (long)local_90) &&
      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))
     && (local_90 < 0x800000000000000)) {
    if (puVar2 == (ulong *)param_3[1]) {
      local_78 = malloc(local_90 << 5);
      if (local_78 != (void *)0x0) {
        puVar15 = (ulong *)param_3[1];
LAB_001112dd:
        memcpy(local_78,puVar15,*param_3 << 5);
        goto LAB_00111184;
      }
    }
    else {
      local_78 = realloc((ulong *)param_3[1],local_90 << 5);
      if (local_78 != (void *)0x0) {
        puVar15 = (ulong *)param_3[1];
        if (puVar2 == puVar15) goto LAB_001112dd;
LAB_00111184:
        param_3[1] = (ulong)local_78;
        goto LAB_0011118d;
      }
    }
  }
LAB_00111292:
  puVar15 = (ulong *)param_3[1];
  if (puVar2 != puVar15) {
LAB_0011129d:
    free(puVar15);
  }
LAB_001112a2:
  if (puVar1 != (ulong *)param_2[1]) {
    free((ulong *)param_2[1]);
  }
LAB_001112b2:
  piVar9 = __errno_location();
  *piVar9 = 0xc;
  return 0xffffffff;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x68
MOV R13,RDI
MOV R15,RSI
MOV R14,RDX
MOV qword ptr [RSI],0x0
LEA RAX,[RSI + 0x20]
MOV qword ptr [RSP + 0x40],RAX
MOV qword ptr [RSI + 0x8],RAX
MOV qword ptr [RDX],0x0
LEA RAX,[RDX + 0x10]
MOV qword ptr [RSP + 0x18],RAX
MOV qword ptr [RDX + 0x8],RAX
MOV qword ptr [RSP + 0x28],0x0
MOV qword ptr [RSP + 0x10],0x0
MOV qword ptr [RSP + 0x8],0x7
MOV qword ptr [RSP + 0x30],0x7
MOV qword ptr [RSP + 0x38],0x0
MOV qword ptr [RSP + 0x48],-0x1
MOVZX EAX,byte ptr [R13]
TEST AL,AL
JZ 0x00111751
LEA RDX,[R13 + 0x1]
CMP AL,0x25
JZ 0x00110d0f
MOV R13,RDX
JMP 0x00110cf5
MOV RAX,qword ptr [R15]
LEA RCX,[RAX + RAX*0x4]
LEA RCX,[RAX + RCX*0x2]
MOV RAX,qword ptr [R15 + 0x8]
LEA RBP,[RAX + RCX*0x8]
MOV qword ptr [RBP],R13
MOV dword ptr [RBP + 0x10],0x0
MOV qword ptr [RBP + 0x18],0x0
MOV qword ptr [RBP + 0x20],0x0
MOV qword ptr [RBP + 0x28],-0x1
MOV qword ptr [RBP + 0x30],0x0
MOV qword ptr [RBP + 0x38],0x0
MOV qword ptr [RBP + 0x40],-0x1
MOV qword ptr [RBP + 0x50],-0x1
MOVZX EAX,byte ptr [R13 + 0x1]
LEA ECX,[RAX + -0x30]
MOV R12,-0x1
CMP CL,0x9
JA 0x00110e08
MOV RCX,RDX
ADD RCX,0x1
MOVZX ESI,byte ptr [RCX]
LEA EDI,[RSI + -0x30]
CMP DIL,0x9
JBE 0x00110d80
MOV R12,-0x1
CMP SIL,0x24
JNZ 0x00110e08
MOV R12D,0x0
MOV RDI,qword ptr [RSP + 0x48]
JMP 0x00110dc6
ADD RAX,RCX
MOV R12,RAX
JC 0x001117c0
MOVZX EAX,byte ptr [RSI + 0x1]
LEA ECX,[RAX + -0x30]
CMP CL,0x9
JA 0x00110dec
ADD RDX,0x1
MOV RSI,RDX
MOVSX EAX,AL
SUB EAX,0x30
CDQE
MOV RCX,RDI
MOV RBX,0x1999999999999999
CMP R12,RBX
JA 0x00110daa
LEA RCX,[R12 + R12*0x4]
ADD RCX,RCX
JMP 0x00110daa
SUB R12,0x1
CMP R12,-0x3
JA 0x001116ec
LEA RDX,[RSI + 0x2]
JMP 0x00110e08
OR dword ptr [RBP + 0x10],0x1
ADD RDX,0x1
MOV RAX,RDX
MOVZX ECX,byte ptr [RDX]
CMP CL,0x27
JZ 0x00110e00
CMP CL,0x2d
JZ 0x00110e37
CMP CL,0x2b
JZ 0x00110e3d
CMP CL,0x20
JZ 0x00110e43
CMP CL,0x23
JZ 0x00110e49
CMP CL,0x30
JZ 0x00110e4f
CMP CL,0x49
JNZ 0x00110e55
OR dword ptr [RBP + 0x10],0x40
JMP 0x00110e04
OR dword ptr [RBP + 0x10],0x2
JMP 0x00110e04
OR dword ptr [RBP + 0x10],0x4
JMP 0x00110e04
OR dword ptr [RBP + 0x10],0x8
JMP 0x00110e04
OR dword ptr [RBP + 0x10],0x10
JMP 0x00110e04
OR dword ptr [RBP + 0x10],0x20
JMP 0x00110e04
CMP CL,0x2a
JZ 0x00110e7e
SUB ECX,0x30
CMP CL,0x9
JBE 0x00111078
CMP byte ptr [RAX],0x2e
JZ 0x001110c4
MOV EDX,0x0
MOV ESI,0x1
JMP 0x0011135c
MOV qword ptr [RBP + 0x18],RDX
LEA R13,[RDX + 0x1]
MOV qword ptr [RBP + 0x20],R13
MOV RSI,qword ptr [RSP + 0x10]
TEST RSI,RSI
MOV EDX,0x1
CMOVNZ RDX,RSI
MOV qword ptr [RSP + 0x10],RDX
MOVZX EAX,byte ptr [RAX + 0x1]
LEA EDX,[RAX + -0x30]
CMP DL,0x9
JBE 0x00110f96
CMP qword ptr [RBP + 0x28],-0x1
JZ 0x0011101e
MOV RBX,qword ptr [RBP + 0x28]
MOV RAX,qword ptr [RSP + 0x8]
CMP RBX,RAX
JC 0x00110f4e
TEST RAX,RAX
JS 0x00111292
ADD RAX,RAX
MOV qword ptr [RSP + 0x8],RAX
CMP RBX,RAX
JC 0x00110ef5
LEA RAX,[RBX + 0x1]
MOV qword ptr [RSP + 0x8],RAX
CMP RBX,RAX
JA 0x00111292
MOV RSI,qword ptr [RSP + 0x8]
MOV RDI,0x7ffffffffffffff
CMP RSI,RDI
JA 0x00111292
SHL RSI,0x5
MOV RDI,qword ptr [R14 + 0x8]
CMP qword ptr [RSP + 0x18],RDI
JZ 0x0011103f
CALL 0x001033a0
MOV qword ptr [RSP + 0x20],RAX
CMP qword ptr [RSP + 0x20],0x0
JZ 0x00111292
MOV RSI,qword ptr [R14 + 0x8]
CMP qword ptr [RSP + 0x18],RSI
JZ 0x00111051
MOV RAX,qword ptr [RSP + 0x20]
MOV qword ptr [R14 + 0x8],RAX
MOV RAX,qword ptr [R14]
CMP RBX,RAX
JC 0x00110f73
LEA RDX,[RAX + 0x1]
MOV qword ptr [R14],RDX
SHL RAX,0x5
ADD RAX,qword ptr [R14 + 0x8]
MOV dword ptr [RAX],0x0
MOV RAX,qword ptr [R14]
CMP RAX,RBX
JBE 0x00110f56
SHL RBX,0x5
MOV RAX,RBX
ADD RAX,qword ptr [R14 + 0x8]
MOV EDX,dword ptr [RAX]
TEST EDX,EDX
JNZ 0x00111067
MOV dword ptr [RAX],0x5
MOV RAX,R13
JMP 0x00110e66
MOV RDX,R13
ADD RDX,0x1
MOVZX ECX,byte ptr [RDX]
LEA ESI,[RCX + -0x30]
CMP SIL,0x9
JBE 0x00110f99
CMP CL,0x24
JNZ 0x00110eb0
MOV RDI,R13
MOV EDX,0x0
MOV R8,qword ptr [RSP + 0x48]
JMP 0x00110fdd
ADD RAX,RCX
MOV RDX,RAX
JC 0x001117a8
MOVZX EAX,byte ptr [RSI + 0x1]
LEA ECX,[RAX + -0x30]
CMP CL,0x9
JA 0x00111003
ADD RDI,0x1
MOV RSI,RDI
MOVSX EAX,AL
SUB EAX,0x30
CDQE
MOV RCX,R8
MOV RBX,0x1999999999999999
CMP RDX,RBX
JA 0x00110fc1
LEA RCX,[RDX + RDX*0x4]
ADD RCX,RCX
JMP 0x00110fc1
SUB RDX,0x1
CMP RDX,-0x3
JA 0x001116ec
MOV qword ptr [RBP + 0x28],RDX
LEA R13,[RSI + 0x2]
JMP 0x00110ebb
MOV RSI,qword ptr [RSP + 0x38]
LEA RAX,[RSI + 0x1]
MOV qword ptr [RBP + 0x28],RSI
CMP RSI,-0x1
JZ 0x001116ec
MOV qword ptr [RSP + 0x38],RAX
JMP 0x00110ebb
MOV RDI,RSI
CALL 0x00103360
MOV qword ptr [RSP + 0x20],RAX
JMP 0x00110f2a
MOV RDX,qword ptr [R14]
SHL RDX,0x5
MOV RDI,qword ptr [RSP + 0x20]
CALL 0x00103320
JMP 0x00110f45
CMP EDX,0x5
JNZ 0x001116ec
MOV RAX,R13
JMP 0x00110e66
MOV qword ptr [RBP + 0x18],RDX
MOVZX ESI,byte ptr [RDX]
LEA EDX,[RSI + -0x30]
CMP DL,0x9
JA 0x001110bf
MOV RCX,RAX
ADD RCX,0x1
MOVZX ESI,byte ptr [RCX]
LEA EDX,[RSI + -0x30]
CMP DL,0x9
JBE 0x0011108a
MOV qword ptr [RBP + 0x20],RCX
MOV RSI,RCX
SUB RSI,RAX
MOV RAX,RSI
MOV RSI,qword ptr [RSP + 0x10]
CMP RSI,RAX
CMOVNC RAX,RSI
MOV qword ptr [RSP + 0x10],RAX
MOV RAX,RCX
JMP 0x00110e66
MOV RCX,RAX
JMP 0x00111099
CMP byte ptr [RAX + 0x1],0x2a
JNZ 0x00111304
MOV qword ptr [RBP + 0x30],RAX
LEA R13,[RAX + 0x2]
MOV qword ptr [RBP + 0x38],R13
MOV RSI,qword ptr [RSP + 0x28]
CMP RSI,0x2
MOV EDX,0x2
CMOVNC RDX,RSI
MOV qword ptr [RSP + 0x28],RDX
MOVZX EDX,byte ptr [RAX + 0x2]
LEA ECX,[RDX + -0x30]
CMP CL,0x9
JBE 0x001111d5
CMP qword ptr [RBP + 0x40],-0x1
JZ 0x0011125f
MOV RBX,qword ptr [RBP + 0x40]
MOV RAX,qword ptr [RSP + 0x8]
CMP RAX,RBX
JA 0x0011118d
TEST RAX,RAX
JS 0x00111292
ADD RAX,RAX
MOV qword ptr [RSP + 0x8],RAX
CMP RBX,RAX
JNC 0x00111280
MOV RAX,qword ptr [RSP + 0x8]
MOV RSI,0x7ffffffffffffff
CMP RAX,RSI
JA 0x00111292
SHL RAX,0x5
MOV RSI,RAX
MOV RDI,qword ptr [R14 + 0x8]
CMP qword ptr [RSP + 0x18],RDI
JZ 0x001112c7
CALL 0x001033a0
MOV qword ptr [RSP + 0x20],RAX
TEST RAX,RAX
JZ 0x00111292
MOV RSI,qword ptr [R14 + 0x8]
CMP qword ptr [RSP + 0x18],RSI
JZ 0x001112dd
MOV RAX,qword ptr [RSP + 0x20]
MOV qword ptr [R14 + 0x8],RAX
MOV RAX,qword ptr [R14]
CMP RBX,RAX
JC 0x001111b2
LEA RDX,[RAX + 0x1]
MOV qword ptr [R14],RDX
SHL RAX,0x5
ADD RAX,qword ptr [R14 + 0x8]
MOV dword ptr [RAX],0x0
MOV RAX,qword ptr [R14]
CMP RAX,RBX
JBE 0x00111195
MOV RAX,RBX
SHL RAX,0x5
ADD RAX,qword ptr [R14 + 0x8]
MOV EDX,dword ptr [RAX]
TEST EDX,EDX
JNZ 0x001112f3
MOV dword ptr [RAX],0x5
MOV RAX,R13
JMP 0x00110e6f
MOV RCX,R13
ADD RCX,0x1
MOVZX ESI,byte ptr [RCX]
LEA EDI,[RSI + -0x30]
CMP DIL,0x9
JBE 0x001111d8
CMP SIL,0x24
JNZ 0x00111101
ADD RAX,0x2
MOV ECX,0x0
JMP 0x0011121b
ADD RDX,RSI
MOV RCX,RDX
JC 0x0011178d
MOVZX EDX,byte ptr [R13 + 0x1]
LEA ESI,[RDX + -0x30]
CMP SIL,0x9
JA 0x00111244
ADD RAX,0x1
MOV R13,RAX
MOVSX EDX,DL
SUB EDX,0x30
MOVSXD RDX,EDX
MOV RSI,qword ptr [RSP + 0x48]
MOV RDI,0x1999999999999999
CMP RCX,RDI
JA 0x001111fd
LEA RSI,[RCX + RCX*0x4]
ADD RSI,RSI
JMP 0x001111fd
SUB RCX,0x1
CMP RCX,-0x3
JA 0x001116ec
MOV qword ptr [RBP + 0x40],RCX
ADD R13,0x2
JMP 0x0011110c
MOV RSI,qword ptr [RSP + 0x38]
LEA RAX,[RSI + 0x1]
MOV qword ptr [RBP + 0x40],RSI
CMP RSI,-0x1
JZ 0x001116ec
MOV qword ptr [RSP + 0x38],RAX
JMP 0x0011110c
LEA RAX,[RBX + 0x1]
MOV qword ptr [RSP + 0x8],RAX
CMP RBX,RAX
JBE 0x00111134
MOV RDI,qword ptr [R14 + 0x8]
CMP qword ptr [RSP + 0x18],RDI
JZ 0x001112a2
CALL 0x00103080
MOV RDI,qword ptr [R15 + 0x8]
CMP qword ptr [RSP + 0x40],RDI
JZ 0x001112b2
CALL 0x00103080
CALL 0x001030c0
MOV dword ptr [RAX],0xc
MOV EAX,0xffffffff
JMP 0x0011177e
MOV RDI,RAX
CALL 0x00103360
MOV qword ptr [RSP + 0x20],RAX
TEST RAX,RAX
JZ 0x00111292
MOV RSI,qword ptr [R14 + 0x8]
MOV RDX,qword ptr [R14]
SHL RDX,0x5
MOV RDI,qword ptr [RSP + 0x20]
CALL 0x00103320
JMP 0x00111184
CMP EDX,0x5
JNZ 0x001116ec
MOV RAX,R13
JMP 0x00110e6f
LEA RCX,[RAX + 0x1]
MOV qword ptr [RBP + 0x30],RAX
MOVZX ESI,byte ptr [RAX + 0x1]
LEA EDX,[RSI + -0x30]
CMP DL,0x9
JA 0x00111327
ADD RCX,0x1
MOVZX ESI,byte ptr [RCX]
LEA EDX,[RSI + -0x30]
CMP DL,0x9
JBE 0x00111318
MOV qword ptr [RBP + 0x38],RCX
MOV RSI,RCX
SUB RSI,RAX
MOV RAX,RSI
MOV RSI,qword ptr [RSP + 0x28]
CMP RSI,RAX
CMOVNC RAX,RSI
MOV qword ptr [RSP + 0x28],RAX
MOV RAX,RCX
JMP 0x00110e6f
MOV ECX,EDX
AND ECX,0x1
MOV EDI,ESI
SHL EDI,CL
OR EDX,EDI
ADD RAX,0x1
MOV R13,RAX
MOVZX EBX,byte ptr [RAX]
CMP BL,0x68
JZ 0x0011134d
CMP BL,0x4c
JZ 0x00111385
CMP BL,0x6c
JZ 0x0011138a
CMP BL,0x6a
JZ 0x0011138f
MOV ECX,EBX
AND ECX,0xffffffdf
CMP CL,0x5a
JNZ 0x00111394
ADD EDX,0x8
JMP 0x00111358
OR EDX,0x4
JMP 0x00111358
ADD EDX,0x8
JMP 0x00111358
ADD EDX,0x8
JMP 0x00111358
CMP BL,0x74
JNZ 0x0011139e
ADD EDX,0x8
JMP 0x00111358
ADD R13,0x1
LEA EAX,[RBX + -0x25]
CMP AL,0x53
JA 0x001116ec
MOVZX EAX,AL
LEA RCX,[0x1141bc]
MOVSXD RAX,dword ptr [RCX + RAX*0x4]
ADD RAX,RCX
JMP RAX
MOV dword ptr [RSP + 0x20],0x10
MOV EBX,0x73
JMP 0x00111511
MOV dword ptr [RSP + 0x20],0x9
CMP EDX,0xf
JG 0x00111511
TEST DL,0x4
JNZ 0x00111511
MOV dword ptr [RSP + 0x20],0x7
CMP EDX,0x7
JG 0x00111511
MOV dword ptr [RSP + 0x20],0x1
TEST DL,0x2
JNZ 0x00111511
AND EDX,0x1
CMP EDX,0x1
SBB EAX,EAX
AND EAX,0x2
ADD EAX,0x3
MOV dword ptr [RSP + 0x20],EAX
JMP 0x00111511
MOV dword ptr [RSP + 0x20],0xa
CMP EDX,0xf
JG 0x00111511
TEST DL,0x4
JNZ 0x00111511
MOV dword ptr [RSP + 0x20],0x8
CMP EDX,0x7
JG 0x00111511
MOV dword ptr [RSP + 0x20],0x2
TEST DL,0x2
JNZ 0x00111511
AND EDX,0x1
CMP EDX,0x1
SBB EAX,EAX
AND EAX,0x2
ADD EAX,0x4
MOV dword ptr [RSP + 0x20],EAX
JMP 0x00111511
MOV dword ptr [RSP + 0x20],0xc
CMP EDX,0xf
JG 0x00111511
AND EDX,0x4
SETNZ AL
MOVZX EAX,AL
ADD EAX,0xb
MOV dword ptr [RSP + 0x20],EAX
JMP 0x00111511
CMP EDX,0x7
SETG AL
MOVZX EAX,AL
ADD EAX,0xd
MOV dword ptr [RSP + 0x20],EAX
JMP 0x00111511
CMP EDX,0x7
SETG AL
MOVZX EAX,AL
ADD EAX,0xf
MOV dword ptr [RSP + 0x20],EAX
JMP 0x00111511
MOV dword ptr [RSP + 0x20],0x16
CMP EDX,0xf
JG 0x00111511
TEST DL,0x4
JNZ 0x00111511
MOV dword ptr [RSP + 0x20],0x15
CMP EDX,0x7
JG 0x00111511
MOV dword ptr [RSP + 0x20],0x12
TEST DL,0x2
JNZ 0x00111511
AND EDX,0x1
XOR EDX,0x1
ADD EDX,0x13
MOV dword ptr [RSP + 0x20],EDX
JMP 0x00111511
MOV dword ptr [RSP + 0x20],0xe
MOV EBX,0x63
JMP 0x00111511
MOV dword ptr [RSP + 0x20],0x11
CMP R12,-0x1
JZ 0x0011167c
MOV qword ptr [RBP + 0x50],R12
MOV R12,qword ptr [RBP + 0x50]
MOV RAX,qword ptr [RSP + 0x8]
CMP RAX,R12
JA 0x001115b1
TEST RAX,RAX
JS 0x00111292
ADD RAX,RAX
MOV qword ptr [RSP + 0x8],RAX
CMP R12,RAX
JNC 0x00111699
MOV RAX,qword ptr [RSP + 0x8]
MOV RSI,0x7ffffffffffffff
CMP RAX,RSI
JA 0x00111292
MOV RSI,RAX
SHL RSI,0x5
MOV RAX,qword ptr [R14 + 0x8]
MOV qword ptr [RSP + 0x50],RAX
CMP qword ptr [RSP + 0x18],RAX
JZ 0x001116b1
MOV RDI,RAX
CALL 0x001033a0
MOV qword ptr [RSP + 0x58],RAX
TEST RAX,RAX
JZ 0x00111292
MOV RAX,qword ptr [R14 + 0x8]
MOV qword ptr [RSP + 0x50],RAX
CMP qword ptr [RSP + 0x18],RAX
JZ 0x001116c7
MOV RAX,qword ptr [RSP + 0x58]
MOV qword ptr [R14 + 0x8],RAX
MOV RAX,qword ptr [R14]
CMP R12,RAX
JC 0x001115d6
LEA RDX,[RAX + 0x1]
MOV qword ptr [R14],RDX
SHL RAX,0x5
ADD RAX,qword ptr [R14 + 0x8]
MOV dword ptr [RAX],0x0
MOV RAX,qword ptr [R14]
CMP RAX,R12
JBE 0x001115b9
SHL R12,0x5
MOV RAX,R12
ADD RAX,qword ptr [R14 + 0x8]
MOV EDX,dword ptr [RAX]
TEST EDX,EDX
JNZ 0x001116e2
MOV ESI,dword ptr [RSP + 0x20]
MOV dword ptr [RAX],ESI
MOV byte ptr [RBP + 0x48],BL
MOV qword ptr [RBP + 0x8],R13
MOV RAX,qword ptr [R15]
ADD RAX,0x1
MOV qword ptr [R15],RAX
MOV RSI,qword ptr [RSP + 0x30]
CMP RAX,RSI
JC 0x00110cf5
TEST RSI,RSI
JS 0x00111292
LEA RBX,[RSI + RSI*0x1]
MOV RAX,0x2e8ba2e8ba2e8ba
CMP RBX,RAX
JA 0x00111292
LEA RAX,[RSI + RSI*0x4]
LEA RSI,[RSI + RAX*0x2]
SHL RSI,0x4
MOV RBP,qword ptr [R15 + 0x8]
CMP qword ptr [RSP + 0x40],RBP
JZ 0x0011171e
MOV RDI,RBP
CALL 0x001033a0
MOV R12,RAX
TEST RAX,RAX
JZ 0x00111292
MOV RBP,qword ptr [R15 + 0x8]
CMP qword ptr [RSP + 0x40],RBP
JZ 0x00111732
MOV qword ptr [R15 + 0x8],R12
MOV qword ptr [RSP + 0x30],RBX
JMP 0x00110cf5
MOV RSI,qword ptr [RSP + 0x38]
LEA RAX,[RSI + 0x1]
MOV qword ptr [RBP + 0x50],RSI
CMP RSI,-0x1
JZ 0x001116ec
MOV qword ptr [RSP + 0x38],RAX
JMP 0x0011151f
LEA RAX,[R12 + 0x1]
MOV qword ptr [RSP + 0x8],RAX
CMP R12,RAX
JBE 0x0011154b
JMP 0x00111292
MOV RDI,RSI
CALL 0x00103360
MOV qword ptr [RSP + 0x58],RAX
TEST RAX,RAX
JZ 0x001112a2
MOV RDX,qword ptr [R14]
SHL RDX,0x5
MOV RSI,qword ptr [RSP + 0x50]
MOV RDI,qword ptr [RSP + 0x58]
CALL 0x00103320
JMP 0x001115a8
CMP EDX,dword ptr [RSP + 0x20]
JZ 0x001115f1
MOV RDI,qword ptr [R14 + 0x8]
CMP qword ptr [RSP + 0x18],RDI
JZ 0x001116fc
CALL 0x00103080
MOV RDI,qword ptr [R15 + 0x8]
CMP qword ptr [RSP + 0x40],RDI
JZ 0x0011170c
CALL 0x00103080
CALL 0x001030c0
MOV dword ptr [RAX],0x16
MOV EAX,0xffffffff
JMP 0x0011177e
MOV RDI,RSI
CALL 0x00103360
MOV R12,RAX
TEST RAX,RAX
JZ 0x001117d8
MOV RAX,qword ptr [R15]
LEA RDX,[RAX + RAX*0x4]
LEA RDX,[RAX + RDX*0x2]
SHL RDX,0x3
MOV RSI,RBP
MOV RDI,R12
CALL 0x00103320
JMP 0x0011166e
MOV RAX,qword ptr [R15]
LEA RDX,[RAX + RAX*0x4]
LEA RAX,[RAX + RDX*0x2]
SHL RAX,0x3
ADD RAX,qword ptr [R15 + 0x8]
MOV qword ptr [RAX],R13
MOV RAX,qword ptr [RSP + 0x10]
MOV qword ptr [R15 + 0x10],RAX
MOV RAX,qword ptr [RSP + 0x28]
MOV qword ptr [R15 + 0x18],RAX
MOV EAX,0x0
ADD RSP,0x68
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOVZX EDX,byte ptr [R13 + 0x1]
LEA ECX,[RDX + -0x30]
CMP CL,0x9
JA 0x001116ec
MOV RCX,qword ptr [RSP + 0x48]
JMP 0x00111217
MOVZX EAX,byte ptr [RSI + 0x1]
LEA EDX,[RAX + -0x30]
CMP DL,0x9
JA 0x001116ec
MOV RDX,R8
JMP 0x00110fd9
MOVZX EAX,byte ptr [RSI + 0x1]
LEA ECX,[RAX + -0x30]
CMP CL,0x9
JA 0x001116ec
MOV R12,RDI
JMP 0x00110dc2
MOV RDI,qword ptr [R14 + 0x8]
CMP qword ptr [RSP + 0x18],RDI
JNZ 0x0011129d
JMP 0x001112b2
(translation_unit "undefined8 FUN_00110c80(byte *param_1,ulong *param_2,ulong *param_3)\n\n{\n  ulong *puVar1;\n  ulong *puVar2;\n  undefined8 *puVar3;\n  byte bVar4;\n  int iVar5;\n  byte bVar6;\n  int iVar7;\n  byte *pbVar8;\n  void *__dest;\n  int *piVar9;\n  ulong uVar10;\n  ulong uVar11;\n  byte *pbVar12;\n  ulong uVar13;\n  uint uVar14;\n  ulong *puVar15;\n  ulong uVar16;\n  bool bVar17;\n  ulong local_90;\n  ulong local_88;\n  void *local_78;\n  ulong local_70;\n  ulong local_68;\n  long local_60;\n  ulong local_50;\n  ulong *local_48;\n  void *local_40;\n  \n  *param_2 = 0;\n  puVar1 = param_2 + 4;\n  param_2[1] = (ulong)puVar1;\n  *param_3 = 0;\n  puVar2 = param_3 + 2;\n  param_3[1] = (ulong)puVar2;\n  local_70 = 0;\n  local_88 = 0;\n  local_90 = 7;\n  local_68 = 7;\n  local_60 = 0;\n  local_50 = 0xffffffffffffffff;\nLAB_00110cf5:\n  do {\n    pbVar8 = param_1;\n    if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }\n    param_1 = pbVar8 + 1;\n  } while (*pbVar8 != 0x25);\n  puVar3 = (undefined8 *)(param_2[1] + *param_2 * 0x58);\n  *puVar3 = pbVar8;\n  *(undefined4 *)(puVar3 + 2) = 0;\n  puVar3[3] = 0;\n  puVar3[4] = 0;\n  puVar3[5] = 0xffffffffffffffff;\n  puVar3[6] = 0;\n  puVar3[7] = 0;\n  puVar3[8] = 0xffffffffffffffff;\n  puVar3[10] = 0xffffffffffffffff;\n  bVar6 = pbVar8[1];\n  uVar16 = 0xffffffffffffffff;\n  pbVar8 = param_1;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    uVar16 = 0xffffffffffffffff;\n    if (bVar4 == 0x24) {\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }\n  }\n  goto LAB_00110e08;\nLAB_00110dec:\n  uVar16 = uVar16 - 1;\n  if (uVar16 < 0xfffffffffffffffe) {\n    param_1 = param_1 + 2;\nLAB_00110e08:\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }\n  goto switchD_001113be_caseD_26;\nLAB_00110e55:\n  if (bVar6 == 0x2a) {\n    puVar3[3] = param_1;\n    pbVar8 = param_1 + 1;\n    puVar3[4] = pbVar8;\n    uVar10 = 1;\n    if (local_88 != 0) {\n      uVar10 = local_88;\n    }\n    bVar6 = param_1[1];\n    pbVar12 = pbVar8;\n    if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }\n    if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }\n  pbVar8 = param_1;\n  uVar10 = local_88;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    puVar3[3] = param_1;\n    bVar6 = *param_1;\n    while ((byte)(bVar6 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }\n    puVar3[4] = pbVar8;\n    uVar10 = (long)pbVar8 - (long)param_1;\n    if ((ulong)((long)pbVar8 - (long)param_1) <= local_88) {\n      uVar10 = local_88;\n    }\n  }\nLAB_00110e66:\n  local_88 = uVar10;\n  param_1 = pbVar8;\n  uVar10 = local_70;\n  if (*pbVar8 != 0x2e) goto LAB_00110e6f;\n  if (pbVar8[1] != 0x2a) {\n    param_1 = pbVar8 + 1;\n    puVar3[6] = pbVar8;\n    bVar6 = pbVar8[1];\n    while ((byte)(bVar6 - 0x30) < 10) {\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }\n    puVar3[7] = param_1;\n    uVar10 = (long)param_1 - (long)pbVar8;\n    if ((ulong)((long)param_1 - (long)pbVar8) <= local_70) {\n      uVar10 = local_70;\n    }\n    goto LAB_00110e6f;\n  }\n  puVar3[6] = pbVar8;\n  param_1 = pbVar8 + 2;\n  puVar3[7] = param_1;\n  uVar10 = 2;\n  if (1 < local_70) {\n    uVar10 = local_70;\n  }\n  bVar6 = pbVar8[2];\n  pbVar12 = param_1;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    if (bVar4 == 0x24) {\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }\n  }\n  if (puVar3[8] == -1) {\n    puVar3[8] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }\n  goto LAB_0011110c;\nLAB_00111003:\n  uVar13 = uVar13 - 1;\n  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;\n  puVar3[5] = uVar13;\n  pbVar8 = pbVar8 + 2;\nLAB_00110ebb:\n  uVar13 = puVar3[5];\n  if (uVar13 < local_90) {\nLAB_00110f4e:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) goto switchD_001113be_caseD_26;\n    goto LAB_00110e66;\n  }\n  if ((-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)))) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }\n    if (local_78 != (void *)0x0) {\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }\n  }\n  goto LAB_00111292;\nLAB_0011139e:\n  param_1 = param_1 + 1;\n  switch(bVar6) {\n  case 0x25:\n    goto switchD_001113be_caseD_25;\n  default:\n    goto switchD_001113be_caseD_26;\n  case 0x41:\n  case 0x45:\n  case 0x46:\n  case 0x47:\n  case 0x61:\n  case 0x65:\n  case 0x66:\n  case 0x67:\n    iVar7 = 0xc;\n    if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }\n    break;\n  case 0x43:\n    iVar7 = 0xe;\n    bVar6 = 99;\n    break;\n  case 0x53:\n    iVar7 = 0x10;\n    bVar6 = 0x73;\n    break;\n  case 0x58:\n  case 0x6f:\n  case 0x75:\n  case 0x78:\n    iVar7 = 10;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }\n    break;\n  case 99:\n    iVar7 = (7 < (int)uVar14) + 0xd;\n    break;\n  case 100:\n  case 0x69:\n    iVar7 = 9;\n    if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }\n    break;\n  case 0x6e:\n    iVar7 = 0x16;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }\n    break;\n  case 0x70:\n    iVar7 = 0x11;\n    break;\n  case 0x73:\n    iVar7 = (7 < (int)uVar14) + 0xf;\n  }\n  if (uVar16 == 0xffffffffffffffff) {\n    puVar3[10] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }\n  else {\n    puVar3[10] = uVar16;\n  }\n  uVar16 = puVar3[10];\n  if (uVar16 < local_90) {\nLAB_001115b1:\n    uVar10 = *param_3;\n    while (uVar10 <= uVar16) {\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }\n    piVar9 = (int *)(uVar16 * 0x20 + param_3[1]);\n    iVar5 = *piVar9;\n    if (iVar5 == 0) {\n      *piVar9 = iVar7;\n    }\n    else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;\nswitchD_001113be_caseD_25:\n    *(byte *)(puVar3 + 9) = bVar6;\n    puVar3[1] = param_1;\n    uVar16 = *param_2;\n    *param_2 = uVar16 + 1;\n    if (uVar16 + 1 < local_68) goto LAB_00110cf5;\n    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;\n    puVar15 = (ulong *)param_2[1];\n    if (puVar1 != puVar15) {\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }\n    __dest = malloc(local_68 * 0xb0);\n    if (__dest != (void *)0x0) goto LAB_00111732;\n    puVar15 = (ulong *)param_3[1];\n    if (puVar2 == puVar15) goto LAB_001112b2;\n    goto LAB_0011129d;\n  }\n  if ((((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))\n     || (0x7ffffffffffffff < local_90)) goto LAB_00111292;\n  local_48 = (ulong *)param_3[1];\n  if (puVar2 != local_48) {\n    local_40 = realloc(local_48,local_90 << 5);\n    if (local_40 != (void *)0x0) {\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }\n    goto LAB_00111292;\n  }\n  local_40 = malloc(local_90 << 5);\n  if (local_40 != (void *)0x0) {\nLAB_001116c7:\n    memcpy(local_40,local_48,*param_3 << 5);\nLAB_001115a8:\n    param_3[1] = (ulong)local_40;\n    goto LAB_001115b1;\n  }\n  goto LAB_001112a2;\nLAB_00111244:\n  uVar13 = uVar13 - 1;\n  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;\n  puVar3[8] = uVar13;\n  param_1 = pbVar8 + 2;\nLAB_0011110c:\n  uVar13 = puVar3[8];\n  if (uVar13 < local_90) {\nLAB_0011118d:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }\nLAB_00110e6f:\n    local_70 = uVar10;\n    uVar14 = 0;\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }\n  if (((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))\n     && (local_90 < 0x800000000000000)) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }\n  }\nLAB_00111292:\n  puVar15 = (ulong *)param_3[1];\n  if (puVar2 != puVar15) {\nLAB_0011129d:\n    free(puVar15);\n  }\nLAB_001112a2:\n  if (puVar1 != (ulong *)param_2[1]) {\n    free((ulong *)param_2[1]);\n  }\nLAB_001112b2:\n  piVar9 = __errno_location();\n  *piVar9 = 0xc;\n  return 0xffffffff;\n}\n\n" (function_definition "undefined8 FUN_00110c80(byte *param_1,ulong *param_2,ulong *param_3)\n\n{\n  ulong *puVar1;\n  ulong *puVar2;\n  undefined8 *puVar3;\n  byte bVar4;\n  int iVar5;\n  byte bVar6;\n  int iVar7;\n  byte *pbVar8;\n  void *__dest;\n  int *piVar9;\n  ulong uVar10;\n  ulong uVar11;\n  byte *pbVar12;\n  ulong uVar13;\n  uint uVar14;\n  ulong *puVar15;\n  ulong uVar16;\n  bool bVar17;\n  ulong local_90;\n  ulong local_88;\n  void *local_78;\n  ulong local_70;\n  ulong local_68;\n  long local_60;\n  ulong local_50;\n  ulong *local_48;\n  void *local_40;\n  \n  *param_2 = 0;\n  puVar1 = param_2 + 4;\n  param_2[1] = (ulong)puVar1;\n  *param_3 = 0;\n  puVar2 = param_3 + 2;\n  param_3[1] = (ulong)puVar2;\n  local_70 = 0;\n  local_88 = 0;\n  local_90 = 7;\n  local_68 = 7;\n  local_60 = 0;\n  local_50 = 0xffffffffffffffff;\nLAB_00110cf5:\n  do {\n    pbVar8 = param_1;\n    if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }\n    param_1 = pbVar8 + 1;\n  } while (*pbVar8 != 0x25);\n  puVar3 = (undefined8 *)(param_2[1] + *param_2 * 0x58);\n  *puVar3 = pbVar8;\n  *(undefined4 *)(puVar3 + 2) = 0;\n  puVar3[3] = 0;\n  puVar3[4] = 0;\n  puVar3[5] = 0xffffffffffffffff;\n  puVar3[6] = 0;\n  puVar3[7] = 0;\n  puVar3[8] = 0xffffffffffffffff;\n  puVar3[10] = 0xffffffffffffffff;\n  bVar6 = pbVar8[1];\n  uVar16 = 0xffffffffffffffff;\n  pbVar8 = param_1;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    uVar16 = 0xffffffffffffffff;\n    if (bVar4 == 0x24) {\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }\n  }\n  goto LAB_00110e08;\nLAB_00110dec:\n  uVar16 = uVar16 - 1;\n  if (uVar16 < 0xfffffffffffffffe) {\n    param_1 = param_1 + 2;\nLAB_00110e08:\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }\n  goto switchD_001113be_caseD_26;\nLAB_00110e55:\n  if (bVar6 == 0x2a) {\n    puVar3[3] = param_1;\n    pbVar8 = param_1 + 1;\n    puVar3[4] = pbVar8;\n    uVar10 = 1;\n    if (local_88 != 0) {\n      uVar10 = local_88;\n    }\n    bVar6 = param_1[1];\n    pbVar12 = pbVar8;\n    if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }\n    if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }\n  pbVar8 = param_1;\n  uVar10 = local_88;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    puVar3[3] = param_1;\n    bVar6 = *param_1;\n    while ((byte)(bVar6 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }\n    puVar3[4] = pbVar8;\n    uVar10 = (long)pbVar8 - (long)param_1;\n    if ((ulong)((long)pbVar8 - (long)param_1) <= local_88) {\n      uVar10 = local_88;\n    }\n  }\nLAB_00110e66:\n  local_88 = uVar10;\n  param_1 = pbVar8;\n  uVar10 = local_70;\n  if (*pbVar8 != 0x2e) goto LAB_00110e6f;\n  if (pbVar8[1] != 0x2a) {\n    param_1 = pbVar8 + 1;\n    puVar3[6] = pbVar8;\n    bVar6 = pbVar8[1];\n    while ((byte)(bVar6 - 0x30) < 10) {\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }\n    puVar3[7] = param_1;\n    uVar10 = (long)param_1 - (long)pbVar8;\n    if ((ulong)((long)param_1 - (long)pbVar8) <= local_70) {\n      uVar10 = local_70;\n    }\n    goto LAB_00110e6f;\n  }\n  puVar3[6] = pbVar8;\n  param_1 = pbVar8 + 2;\n  puVar3[7] = param_1;\n  uVar10 = 2;\n  if (1 < local_70) {\n    uVar10 = local_70;\n  }\n  bVar6 = pbVar8[2];\n  pbVar12 = param_1;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    if (bVar4 == 0x24) {\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }\n  }\n  if (puVar3[8] == -1) {\n    puVar3[8] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }\n  goto LAB_0011110c;\nLAB_00111003:\n  uVar13 = uVar13 - 1;\n  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;\n  puVar3[5] = uVar13;\n  pbVar8 = pbVar8 + 2;\nLAB_00110ebb:\n  uVar13 = puVar3[5];\n  if (uVar13 < local_90) {\nLAB_00110f4e:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) goto switchD_001113be_caseD_26;\n    goto LAB_00110e66;\n  }\n  if ((-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)))) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }\n    if (local_78 != (void *)0x0) {\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }\n  }\n  goto LAB_00111292;\nLAB_0011139e:\n  param_1 = param_1 + 1;\n  switch(bVar6) {\n  case 0x25:\n    goto switchD_001113be_caseD_25;\n  default:\n    goto switchD_001113be_caseD_26;\n  case 0x41:\n  case 0x45:\n  case 0x46:\n  case 0x47:\n  case 0x61:\n  case 0x65:\n  case 0x66:\n  case 0x67:\n    iVar7 = 0xc;\n    if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }\n    break;\n  case 0x43:\n    iVar7 = 0xe;\n    bVar6 = 99;\n    break;\n  case 0x53:\n    iVar7 = 0x10;\n    bVar6 = 0x73;\n    break;\n  case 0x58:\n  case 0x6f:\n  case 0x75:\n  case 0x78:\n    iVar7 = 10;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }\n    break;\n  case 99:\n    iVar7 = (7 < (int)uVar14) + 0xd;\n    break;\n  case 100:\n  case 0x69:\n    iVar7 = 9;\n    if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }\n    break;\n  case 0x6e:\n    iVar7 = 0x16;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }\n    break;\n  case 0x70:\n    iVar7 = 0x11;\n    break;\n  case 0x73:\n    iVar7 = (7 < (int)uVar14) + 0xf;\n  }\n  if (uVar16 == 0xffffffffffffffff) {\n    puVar3[10] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }\n  else {\n    puVar3[10] = uVar16;\n  }\n  uVar16 = puVar3[10];\n  if (uVar16 < local_90) {\nLAB_001115b1:\n    uVar10 = *param_3;\n    while (uVar10 <= uVar16) {\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }\n    piVar9 = (int *)(uVar16 * 0x20 + param_3[1]);\n    iVar5 = *piVar9;\n    if (iVar5 == 0) {\n      *piVar9 = iVar7;\n    }\n    else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;\nswitchD_001113be_caseD_25:\n    *(byte *)(puVar3 + 9) = bVar6;\n    puVar3[1] = param_1;\n    uVar16 = *param_2;\n    *param_2 = uVar16 + 1;\n    if (uVar16 + 1 < local_68) goto LAB_00110cf5;\n    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;\n    puVar15 = (ulong *)param_2[1];\n    if (puVar1 != puVar15) {\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }\n    __dest = malloc(local_68 * 0xb0);\n    if (__dest != (void *)0x0) goto LAB_00111732;\n    puVar15 = (ulong *)param_3[1];\n    if (puVar2 == puVar15) goto LAB_001112b2;\n    goto LAB_0011129d;\n  }\n  if ((((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))\n     || (0x7ffffffffffffff < local_90)) goto LAB_00111292;\n  local_48 = (ulong *)param_3[1];\n  if (puVar2 != local_48) {\n    local_40 = realloc(local_48,local_90 << 5);\n    if (local_40 != (void *)0x0) {\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }\n    goto LAB_00111292;\n  }\n  local_40 = malloc(local_90 << 5);\n  if (local_40 != (void *)0x0) {\nLAB_001116c7:\n    memcpy(local_40,local_48,*param_3 << 5);\nLAB_001115a8:\n    param_3[1] = (ulong)local_40;\n    goto LAB_001115b1;\n  }\n  goto LAB_001112a2;\nLAB_00111244:\n  uVar13 = uVar13 - 1;\n  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;\n  puVar3[8] = uVar13;\n  param_1 = pbVar8 + 2;\nLAB_0011110c:\n  uVar13 = puVar3[8];\n  if (uVar13 < local_90) {\nLAB_0011118d:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }\nLAB_00110e6f:\n    local_70 = uVar10;\n    uVar14 = 0;\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }\n  if (((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))\n     && (local_90 < 0x800000000000000)) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }\n  }\nLAB_00111292:\n  puVar15 = (ulong *)param_3[1];\n  if (puVar2 != puVar15) {\nLAB_0011129d:\n    free(puVar15);\n  }\nLAB_001112a2:\n  if (puVar1 != (ulong *)param_2[1]) {\n    free((ulong *)param_2[1]);\n  }\nLAB_001112b2:\n  piVar9 = __errno_location();\n  *piVar9 = 0xc;\n  return 0xffffffff;\n}" type_identifier (function_declarator "FUN_00110c80(byte *param_1,ulong *param_2,ulong *param_3)" identifier (parameter_list "(byte *param_1,ulong *param_2,ulong *param_3)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "ulong *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "ulong *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  ulong *puVar1;\n  ulong *puVar2;\n  undefined8 *puVar3;\n  byte bVar4;\n  int iVar5;\n  byte bVar6;\n  int iVar7;\n  byte *pbVar8;\n  void *__dest;\n  int *piVar9;\n  ulong uVar10;\n  ulong uVar11;\n  byte *pbVar12;\n  ulong uVar13;\n  uint uVar14;\n  ulong *puVar15;\n  ulong uVar16;\n  bool bVar17;\n  ulong local_90;\n  ulong local_88;\n  void *local_78;\n  ulong local_70;\n  ulong local_68;\n  long local_60;\n  ulong local_50;\n  ulong *local_48;\n  void *local_40;\n  \n  *param_2 = 0;\n  puVar1 = param_2 + 4;\n  param_2[1] = (ulong)puVar1;\n  *param_3 = 0;\n  puVar2 = param_3 + 2;\n  param_3[1] = (ulong)puVar2;\n  local_70 = 0;\n  local_88 = 0;\n  local_90 = 7;\n  local_68 = 7;\n  local_60 = 0;\n  local_50 = 0xffffffffffffffff;\nLAB_00110cf5:\n  do {\n    pbVar8 = param_1;\n    if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }\n    param_1 = pbVar8 + 1;\n  } while (*pbVar8 != 0x25);\n  puVar3 = (undefined8 *)(param_2[1] + *param_2 * 0x58);\n  *puVar3 = pbVar8;\n  *(undefined4 *)(puVar3 + 2) = 0;\n  puVar3[3] = 0;\n  puVar3[4] = 0;\n  puVar3[5] = 0xffffffffffffffff;\n  puVar3[6] = 0;\n  puVar3[7] = 0;\n  puVar3[8] = 0xffffffffffffffff;\n  puVar3[10] = 0xffffffffffffffff;\n  bVar6 = pbVar8[1];\n  uVar16 = 0xffffffffffffffff;\n  pbVar8 = param_1;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    uVar16 = 0xffffffffffffffff;\n    if (bVar4 == 0x24) {\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }\n  }\n  goto LAB_00110e08;\nLAB_00110dec:\n  uVar16 = uVar16 - 1;\n  if (uVar16 < 0xfffffffffffffffe) {\n    param_1 = param_1 + 2;\nLAB_00110e08:\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }\n  goto switchD_001113be_caseD_26;\nLAB_00110e55:\n  if (bVar6 == 0x2a) {\n    puVar3[3] = param_1;\n    pbVar8 = param_1 + 1;\n    puVar3[4] = pbVar8;\n    uVar10 = 1;\n    if (local_88 != 0) {\n      uVar10 = local_88;\n    }\n    bVar6 = param_1[1];\n    pbVar12 = pbVar8;\n    if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }\n    if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }\n  pbVar8 = param_1;\n  uVar10 = local_88;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    puVar3[3] = param_1;\n    bVar6 = *param_1;\n    while ((byte)(bVar6 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }\n    puVar3[4] = pbVar8;\n    uVar10 = (long)pbVar8 - (long)param_1;\n    if ((ulong)((long)pbVar8 - (long)param_1) <= local_88) {\n      uVar10 = local_88;\n    }\n  }\nLAB_00110e66:\n  local_88 = uVar10;\n  param_1 = pbVar8;\n  uVar10 = local_70;\n  if (*pbVar8 != 0x2e) goto LAB_00110e6f;\n  if (pbVar8[1] != 0x2a) {\n    param_1 = pbVar8 + 1;\n    puVar3[6] = pbVar8;\n    bVar6 = pbVar8[1];\n    while ((byte)(bVar6 - 0x30) < 10) {\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }\n    puVar3[7] = param_1;\n    uVar10 = (long)param_1 - (long)pbVar8;\n    if ((ulong)((long)param_1 - (long)pbVar8) <= local_70) {\n      uVar10 = local_70;\n    }\n    goto LAB_00110e6f;\n  }\n  puVar3[6] = pbVar8;\n  param_1 = pbVar8 + 2;\n  puVar3[7] = param_1;\n  uVar10 = 2;\n  if (1 < local_70) {\n    uVar10 = local_70;\n  }\n  bVar6 = pbVar8[2];\n  pbVar12 = param_1;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    if (bVar4 == 0x24) {\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }\n  }\n  if (puVar3[8] == -1) {\n    puVar3[8] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }\n  goto LAB_0011110c;\nLAB_00111003:\n  uVar13 = uVar13 - 1;\n  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;\n  puVar3[5] = uVar13;\n  pbVar8 = pbVar8 + 2;\nLAB_00110ebb:\n  uVar13 = puVar3[5];\n  if (uVar13 < local_90) {\nLAB_00110f4e:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) goto switchD_001113be_caseD_26;\n    goto LAB_00110e66;\n  }\n  if ((-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)))) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }\n    if (local_78 != (void *)0x0) {\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }\n  }\n  goto LAB_00111292;\nLAB_0011139e:\n  param_1 = param_1 + 1;\n  switch(bVar6) {\n  case 0x25:\n    goto switchD_001113be_caseD_25;\n  default:\n    goto switchD_001113be_caseD_26;\n  case 0x41:\n  case 0x45:\n  case 0x46:\n  case 0x47:\n  case 0x61:\n  case 0x65:\n  case 0x66:\n  case 0x67:\n    iVar7 = 0xc;\n    if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }\n    break;\n  case 0x43:\n    iVar7 = 0xe;\n    bVar6 = 99;\n    break;\n  case 0x53:\n    iVar7 = 0x10;\n    bVar6 = 0x73;\n    break;\n  case 0x58:\n  case 0x6f:\n  case 0x75:\n  case 0x78:\n    iVar7 = 10;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }\n    break;\n  case 99:\n    iVar7 = (7 < (int)uVar14) + 0xd;\n    break;\n  case 100:\n  case 0x69:\n    iVar7 = 9;\n    if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }\n    break;\n  case 0x6e:\n    iVar7 = 0x16;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }\n    break;\n  case 0x70:\n    iVar7 = 0x11;\n    break;\n  case 0x73:\n    iVar7 = (7 < (int)uVar14) + 0xf;\n  }\n  if (uVar16 == 0xffffffffffffffff) {\n    puVar3[10] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }\n  else {\n    puVar3[10] = uVar16;\n  }\n  uVar16 = puVar3[10];\n  if (uVar16 < local_90) {\nLAB_001115b1:\n    uVar10 = *param_3;\n    while (uVar10 <= uVar16) {\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }\n    piVar9 = (int *)(uVar16 * 0x20 + param_3[1]);\n    iVar5 = *piVar9;\n    if (iVar5 == 0) {\n      *piVar9 = iVar7;\n    }\n    else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;\nswitchD_001113be_caseD_25:\n    *(byte *)(puVar3 + 9) = bVar6;\n    puVar3[1] = param_1;\n    uVar16 = *param_2;\n    *param_2 = uVar16 + 1;\n    if (uVar16 + 1 < local_68) goto LAB_00110cf5;\n    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;\n    puVar15 = (ulong *)param_2[1];\n    if (puVar1 != puVar15) {\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }\n    __dest = malloc(local_68 * 0xb0);\n    if (__dest != (void *)0x0) goto LAB_00111732;\n    puVar15 = (ulong *)param_3[1];\n    if (puVar2 == puVar15) goto LAB_001112b2;\n    goto LAB_0011129d;\n  }\n  if ((((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))\n     || (0x7ffffffffffffff < local_90)) goto LAB_00111292;\n  local_48 = (ulong *)param_3[1];\n  if (puVar2 != local_48) {\n    local_40 = realloc(local_48,local_90 << 5);\n    if (local_40 != (void *)0x0) {\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }\n    goto LAB_00111292;\n  }\n  local_40 = malloc(local_90 << 5);\n  if (local_40 != (void *)0x0) {\nLAB_001116c7:\n    memcpy(local_40,local_48,*param_3 << 5);\nLAB_001115a8:\n    param_3[1] = (ulong)local_40;\n    goto LAB_001115b1;\n  }\n  goto LAB_001112a2;\nLAB_00111244:\n  uVar13 = uVar13 - 1;\n  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;\n  puVar3[8] = uVar13;\n  param_1 = pbVar8 + 2;\nLAB_0011110c:\n  uVar13 = puVar3[8];\n  if (uVar13 < local_90) {\nLAB_0011118d:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }\nLAB_00110e6f:\n    local_70 = uVar10;\n    uVar14 = 0;\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }\n  if (((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))\n     && (local_90 < 0x800000000000000)) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }\n  }\nLAB_00111292:\n  puVar15 = (ulong *)param_3[1];\n  if (puVar2 != puVar15) {\nLAB_0011129d:\n    free(puVar15);\n  }\nLAB_001112a2:\n  if (puVar1 != (ulong *)param_2[1]) {\n    free((ulong *)param_2[1]);\n  }\nLAB_001112b2:\n  piVar9 = __errno_location();\n  *piVar9 = 0xc;\n  return 0xffffffff;\n}" { (declaration "ulong *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "ulong *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined8 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "ulong uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "ulong *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "ulong uVar16;" type_identifier identifier ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "ulong local_90;" type_identifier identifier ;) (declaration "ulong local_88;" type_identifier identifier ;) (declaration "void *local_78;" primitive_type (pointer_declarator "*local_78" * identifier) ;) (declaration "ulong local_70;" type_identifier identifier ;) (declaration "ulong local_68;" type_identifier identifier ;) (declaration "long local_60;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong local_50;" type_identifier identifier ;) (declaration "ulong *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "void *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (expression_statement "*param_2 = 0;" (assignment_expression "*param_2 = 0" (pointer_expression "*param_2" * identifier) = number_literal) ;) (expression_statement "puVar1 = param_2 + 4;" (assignment_expression "puVar1 = param_2 + 4" identifier = (binary_expression "param_2 + 4" identifier + number_literal)) ;) (expression_statement "param_2[1] = (ulong)puVar1;" (assignment_expression "param_2[1] = (ulong)puVar1" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (cast_expression "(ulong)puVar1" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" * identifier) = number_literal) ;) (expression_statement "puVar2 = param_3 + 2;" (assignment_expression "puVar2 = param_3 + 2" identifier = (binary_expression "param_3 + 2" identifier + number_literal)) ;) (expression_statement "param_3[1] = (ulong)puVar2;" (assignment_expression "param_3[1] = (ulong)puVar2" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (cast_expression "(ulong)puVar2" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 7;" (assignment_expression "local_90 = 7" identifier = number_literal) ;) (expression_statement "local_68 = 7;" (assignment_expression "local_68 = 7" identifier = number_literal) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0xffffffffffffffff;" (assignment_expression "local_50 = 0xffffffffffffffff" identifier = number_literal) ;) (labeled_statement "LAB_00110cf5:\n  do {\n    pbVar8 = param_1;\n    if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }\n    param_1 = pbVar8 + 1;\n  } while (*pbVar8 != 0x25);" statement_identifier : (do_statement "do {\n    pbVar8 = param_1;\n    if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }\n    param_1 = pbVar8 + 1;\n  } while (*pbVar8 != 0x25);" do (compound_statement "{\n    pbVar8 = param_1;\n    if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }\n    param_1 = pbVar8 + 1;\n  }" { (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" identifier = identifier) ;) (if_statement "if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }" if (parenthesized_expression "(*pbVar8 == 0)" ( (binary_expression "*pbVar8 == 0" (pointer_expression "*pbVar8" * identifier) == number_literal) )) (compound_statement "{\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }" { (expression_statement "*(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;" (assignment_expression "*(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8" (pointer_expression "*(byte **)(*param_2 * 0x58 + param_2[1])" * (cast_expression "(byte **)(*param_2 * 0x58 + param_2[1])" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 * 0x58 + param_2[1])" ( (binary_expression "*param_2 * 0x58 + param_2[1]" (binary_expression "*param_2 * 0x58" (pointer_expression "*param_2" * identifier) * number_literal) + (subscript_expression "param_2[1]" identifier [ number_literal ])) )))) = identifier) ;) (expression_statement "param_2[2] = local_88;" (assignment_expression "param_2[2] = local_88" (subscript_expression "param_2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[3] = local_70;" (assignment_expression "param_2[3] = local_70" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_1 = pbVar8 + 1;" (assignment_expression "param_1 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pbVar8 != 0x25)" ( (binary_expression "*pbVar8 != 0x25" (pointer_expression "*pbVar8" * identifier) != number_literal) )) ;)) (expression_statement "puVar3 = (undefined8 *)(param_2[1] + *param_2 * 0x58);" (assignment_expression "puVar3 = (undefined8 *)(param_2[1] + *param_2 * 0x58)" identifier = (cast_expression "(undefined8 *)(param_2[1] + *param_2 * 0x58)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + *param_2 * 0x58)" ( (binary_expression "param_2[1] + *param_2 * 0x58" (subscript_expression "param_2[1]" identifier [ number_literal ]) + (binary_expression "*param_2 * 0x58" (pointer_expression "*param_2" * identifier) * number_literal)) )))) ;) (expression_statement "*puVar3 = pbVar8;" (assignment_expression "*puVar3 = pbVar8" (pointer_expression "*puVar3" * identifier) = identifier) ;) (expression_statement "*(undefined4 *)(puVar3 + 2) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 2) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 2)" * (cast_expression "(undefined4 *)(puVar3 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar3[3] = 0;" (assignment_expression "puVar3[3] = 0" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[4] = 0;" (assignment_expression "puVar3[4] = 0" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[5] = 0xffffffffffffffff;" (assignment_expression "puVar3[5] = 0xffffffffffffffff" (subscript_expression "puVar3[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[6] = 0;" (assignment_expression "puVar3[6] = 0" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[7] = 0;" (assignment_expression "puVar3[7] = 0" (subscript_expression "puVar3[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[8] = 0xffffffffffffffff;" (assignment_expression "puVar3[8] = 0xffffffffffffffff" (subscript_expression "puVar3[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[10] = 0xffffffffffffffff;" (assignment_expression "puVar3[10] = 0xffffffffffffffff" (subscript_expression "puVar3[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bVar6 = pbVar8[1];" (assignment_expression "bVar6 = pbVar8[1]" identifier = (subscript_expression "pbVar8[1]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = 0xffffffffffffffff;" (assignment_expression "uVar16 = 0xffffffffffffffff" identifier = number_literal) ;) (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" identifier = identifier) ;) (if_statement "if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    uVar16 = 0xffffffffffffffff;\n    if (bVar4 == 0x24) {\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }\n  }" if (parenthesized_expression "((byte)(bVar6 - 0x30) < 10)" ( (binary_expression "(byte)(bVar6 - 0x30) < 10" (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n    do {\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    uVar16 = 0xffffffffffffffff;\n    if (bVar4 == 0x24) {\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }\n  }" { (do_statement "do {\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);" do (compound_statement "{\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    }" { (expression_statement "bVar4 = pbVar8[1];" (assignment_expression "bVar4 = pbVar8[1]" identifier = (subscript_expression "pbVar8[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((byte)(bVar4 - 0x30) < 10)" ( (binary_expression "(byte)(bVar4 - 0x30) < 10" (call_expression "(byte)(bVar4 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar4 - 0x30)" ( (binary_expression "bVar4 - 0x30" identifier - number_literal) ))) < number_literal) )) ;) (expression_statement "uVar16 = 0xffffffffffffffff;" (assignment_expression "uVar16 = 0xffffffffffffffff" identifier = number_literal) ;) (if_statement "if (bVar4 == 0x24) {\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }" if (parenthesized_expression "(bVar4 == 0x24)" ( (binary_expression "bVar4 == 0x24" identifier == number_literal) )) (compound_statement "{\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }" { (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );" do (compound_statement "{\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      }" { (expression_statement "uVar10 = local_50;" (assignment_expression "uVar10 = local_50" identifier = identifier) ;) (if_statement "if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }" if (parenthesized_expression "(uVar16 < 0x199999999999999a)" ( (binary_expression "uVar16 < 0x199999999999999a" identifier < number_literal) )) (compound_statement "{\n          uVar10 = uVar16 * 10;\n        }" { (expression_statement "uVar10 = uVar16 * 10;" (assignment_expression "uVar10 = uVar16 * 10" identifier = (binary_expression "uVar16 * 10" identifier * number_literal)) ;) })) (expression_statement "uVar16 = (long)((char)bVar6 + -0x30) + uVar10;" (assignment_expression "uVar16 = (long)((char)bVar6 + -0x30) + uVar10" identifier = (binary_expression "(long)((char)bVar6 + -0x30) + uVar10" (cast_expression "(long)((char)bVar6 + -0x30)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((char)bVar6 + -0x30)" ( (binary_expression "(char)bVar6 + -0x30" (cast_expression "(char)bVar6" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ))) + identifier)) ;) (if_statement "if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }" if (parenthesized_expression "(CARRY8((long)((char)bVar6 + -0x30),uVar10))" ( (call_expression "CARRY8((long)((char)bVar6 + -0x30),uVar10)" identifier (argument_list "((long)((char)bVar6 + -0x30),uVar10)" ( (cast_expression "(long)((char)bVar6 + -0x30)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((char)bVar6 + -0x30)" ( (binary_expression "(char)bVar6 + -0x30" (cast_expression "(char)bVar6" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ))) , identifier ))) )) (compound_statement "{\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }" { (expression_statement "bVar6 = param_1[1];" (assignment_expression "bVar6 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = local_50;" (assignment_expression "uVar16 = local_50" identifier = identifier) ;) (if_statement "if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(9 < (byte)(bVar6 - 0x30))" ( (binary_expression "9 < (byte)(bVar6 - 0x30)" number_literal < (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) )))) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) }) (else_clause "else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }" else (compound_statement "{\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }" { (expression_statement "bVar6 = param_1[1];" (assignment_expression "bVar6 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (if_statement "if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;" if (parenthesized_expression "(9 < (byte)(bVar6 - 0x30))" ( (binary_expression "9 < (byte)(bVar6 - 0x30)" number_literal < (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) )))) )) (goto_statement "goto LAB_00110dec;" goto statement_identifier ;)) }))) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (goto_statement "goto LAB_00110e08;" goto statement_identifier ;) (labeled_statement "LAB_00110dec:\n  uVar16 = uVar16 - 1;" statement_identifier : (expression_statement "uVar16 = uVar16 - 1;" (assignment_expression "uVar16 = uVar16 - 1" identifier = (binary_expression "uVar16 - 1" identifier - number_literal)) ;)) (if_statement "if (uVar16 < 0xfffffffffffffffe) {\n    param_1 = param_1 + 2;\nLAB_00110e08:\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }" if (parenthesized_expression "(uVar16 < 0xfffffffffffffffe)" ( (binary_expression "uVar16 < 0xfffffffffffffffe" identifier < number_literal) )) (compound_statement "{\n    param_1 = param_1 + 2;\nLAB_00110e08:\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }" { (expression_statement "param_1 = param_1 + 2;" (assignment_expression "param_1 = param_1 + 2" identifier = (binary_expression "param_1 + 2" identifier + number_literal)) ;) (labeled_statement "LAB_00110e08:\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );" statement_identifier : (do_statement "do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );" do (compound_statement "{\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    }" { (expression_statement "bVar6 = *param_1;" (assignment_expression "bVar6 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" if (parenthesized_expression "(bVar6 == 0x27)" ( (binary_expression "bVar6 == 0x27" identifier == number_literal) )) (compound_statement "{\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }" { (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) = (binary_expression "*(uint *)(puVar3 + 2) | 1" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" else (if_statement "if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" if (parenthesized_expression "(bVar6 == 0x2d)" ( (binary_expression "bVar6 == 0x2d" identifier == number_literal) )) (compound_statement "{\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }" { (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) = (binary_expression "*(uint *)(puVar3 + 2) | 2" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" else (if_statement "if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" if (parenthesized_expression "(bVar6 == 0x2b)" ( (binary_expression "bVar6 == 0x2b" identifier == number_literal) )) (compound_statement "{\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }" { (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) = (binary_expression "*(uint *)(puVar3 + 2) | 4" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" else (if_statement "if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" if (parenthesized_expression "(bVar6 == 0x20)" ( (binary_expression "bVar6 == 0x20" identifier == number_literal) )) (compound_statement "{\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }" { (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) = (binary_expression "*(uint *)(puVar3 + 2) | 8" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" else (if_statement "if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" if (parenthesized_expression "(bVar6 == 0x23)" ( (binary_expression "bVar6 == 0x23" identifier == number_literal) )) (compound_statement "{\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }" { (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) = (binary_expression "*(uint *)(puVar3 + 2) | 0x10" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" else (if_statement "if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" if (parenthesized_expression "(bVar6 == 0x30)" ( (binary_expression "bVar6 == 0x30" identifier == number_literal) )) (compound_statement "{\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }" { (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) = (binary_expression "*(uint *)(puVar3 + 2) | 0x20" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" else (compound_statement "{\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" { (if_statement "if (bVar6 != 0x49) goto LAB_00110e55;" if (parenthesized_expression "(bVar6 != 0x49)" ( (binary_expression "bVar6 != 0x49" identifier != number_literal) )) (goto_statement "goto LAB_00110e55;" goto statement_identifier ;)) (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) = (binary_expression "*(uint *)(puVar3 + 2) | 0x40" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) | number_literal)) ;) }))))))))))))) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;) (labeled_statement "LAB_00110e55:\n  if (bVar6 == 0x2a) {\n    puVar3[3] = param_1;\n    pbVar8 = param_1 + 1;\n    puVar3[4] = pbVar8;\n    uVar10 = 1;\n    if (local_88 != 0) {\n      uVar10 = local_88;\n    }\n    bVar6 = param_1[1];\n    pbVar12 = pbVar8;\n    if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }\n    if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }" statement_identifier : (if_statement "if (bVar6 == 0x2a) {\n    puVar3[3] = param_1;\n    pbVar8 = param_1 + 1;\n    puVar3[4] = pbVar8;\n    uVar10 = 1;\n    if (local_88 != 0) {\n      uVar10 = local_88;\n    }\n    bVar6 = param_1[1];\n    pbVar12 = pbVar8;\n    if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }\n    if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }" if (parenthesized_expression "(bVar6 == 0x2a)" ( (binary_expression "bVar6 == 0x2a" identifier == number_literal) )) (compound_statement "{\n    puVar3[3] = param_1;\n    pbVar8 = param_1 + 1;\n    puVar3[4] = pbVar8;\n    uVar10 = 1;\n    if (local_88 != 0) {\n      uVar10 = local_88;\n    }\n    bVar6 = param_1[1];\n    pbVar12 = pbVar8;\n    if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }\n    if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }" { (expression_statement "puVar3[3] = param_1;" (assignment_expression "puVar3[3] = param_1" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar8 = param_1 + 1;" (assignment_expression "pbVar8 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) (expression_statement "puVar3[4] = pbVar8;" (assignment_expression "puVar3[4] = pbVar8" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (if_statement "if (local_88 != 0) {\n      uVar10 = local_88;\n    }" if (parenthesized_expression "(local_88 != 0)" ( (binary_expression "local_88 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar10 = local_88;\n    }" { (expression_statement "uVar10 = local_88;" (assignment_expression "uVar10 = local_88" identifier = identifier) ;) })) (expression_statement "bVar6 = param_1[1];" (assignment_expression "bVar6 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar12 = pbVar8;" (assignment_expression "pbVar12 = pbVar8" identifier = identifier) ;) (if_statement "if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }" if (parenthesized_expression "((byte)(bVar6 - 0x30) < 10)" ( (binary_expression "(byte)(bVar6 - 0x30) < 10" (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }" { (do_statement "do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);" do (compound_statement "{\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      }" { (expression_statement "bVar4 = pbVar12[1];" (assignment_expression "bVar4 = pbVar12[1]" identifier = (subscript_expression "pbVar12[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((byte)(bVar4 - 0x30) < 10)" ( (binary_expression "(byte)(bVar4 - 0x30) < 10" (call_expression "(byte)(bVar4 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar4 - 0x30)" ( (binary_expression "bVar4 - 0x30" identifier - number_literal) ))) < number_literal) )) ;) (if_statement "if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }" if (parenthesized_expression "(bVar4 == 0x24)" ( (binary_expression "bVar4 == 0x24" identifier == number_literal) )) (compound_statement "{\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );" do (compound_statement "{\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        }" { (expression_statement "uVar11 = local_50;" (assignment_expression "uVar11 = local_50" identifier = identifier) ;) (if_statement "if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }" if (parenthesized_expression "(uVar13 < 0x199999999999999a)" ( (binary_expression "uVar13 < 0x199999999999999a" identifier < number_literal) )) (compound_statement "{\n            uVar11 = uVar13 * 10;\n          }" { (expression_statement "uVar11 = uVar13 * 10;" (assignment_expression "uVar11 = uVar13 * 10" identifier = (binary_expression "uVar13 * 10" identifier * number_literal)) ;) })) (expression_statement "uVar13 = (long)((char)bVar6 + -0x30) + uVar11;" (assignment_expression "uVar13 = (long)((char)bVar6 + -0x30) + uVar11" identifier = (binary_expression "(long)((char)bVar6 + -0x30) + uVar11" (cast_expression "(long)((char)bVar6 + -0x30)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((char)bVar6 + -0x30)" ( (binary_expression "(char)bVar6 + -0x30" (cast_expression "(char)bVar6" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ))) + identifier)) ;) (if_statement "if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }" if (parenthesized_expression "(CARRY8((long)((char)bVar6 + -0x30),uVar11))" ( (call_expression "CARRY8((long)((char)bVar6 + -0x30),uVar11)" identifier (argument_list "((long)((char)bVar6 + -0x30),uVar11)" ( (cast_expression "(long)((char)bVar6 + -0x30)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((char)bVar6 + -0x30)" ( (binary_expression "(char)bVar6 + -0x30" (cast_expression "(char)bVar6" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ))) , identifier ))) )) (compound_statement "{\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }" { (expression_statement "bVar6 = pbVar8[1];" (assignment_expression "bVar6 = pbVar8[1]" identifier = (subscript_expression "pbVar8[1]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = local_50;" (assignment_expression "uVar13 = local_50" identifier = identifier) ;) (if_statement "if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(9 < (byte)(bVar6 - 0x30))" ( (binary_expression "9 < (byte)(bVar6 - 0x30)" number_literal < (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) )))) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) }) (else_clause "else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }" else (compound_statement "{\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }" { (expression_statement "bVar6 = pbVar8[1];" (assignment_expression "bVar6 = pbVar8[1]" identifier = (subscript_expression "pbVar8[1]" identifier [ number_literal ])) ;) (if_statement "if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;" if (parenthesized_expression "(9 < (byte)(bVar6 - 0x30))" ( (binary_expression "9 < (byte)(bVar6 - 0x30)" number_literal < (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) )))) )) (goto_statement "goto LAB_00111003;" goto statement_identifier ;)) }))) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (if_statement "if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }" if (parenthesized_expression "(puVar3[5] == -1)" ( (binary_expression "puVar3[5] == -1" (subscript_expression "puVar3[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }" { (expression_statement "puVar3[5] = local_60;" (assignment_expression "puVar3[5] = local_60" (subscript_expression "puVar3[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar17 = local_60 == -1;" (assignment_expression "bVar17 = local_60 == -1" identifier = (binary_expression "local_60 == -1" identifier == number_literal)) ;) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" identifier = (binary_expression "local_60 + 1" identifier + number_literal)) ;) (if_statement "if (bVar17) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(bVar17)" ( identifier )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00110ebb;" goto statement_identifier ;) }))) (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" identifier = identifier) ;) (expression_statement "uVar10 = local_88;" (assignment_expression "uVar10 = local_88" identifier = identifier) ;) (if_statement "if ((byte)(bVar6 - 0x30) < 10) {\n    puVar3[3] = param_1;\n    bVar6 = *param_1;\n    while ((byte)(bVar6 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }\n    puVar3[4] = pbVar8;\n    uVar10 = (long)pbVar8 - (long)param_1;\n    if ((ulong)((long)pbVar8 - (long)param_1) <= local_88) {\n      uVar10 = local_88;\n    }\n  }" if (parenthesized_expression "((byte)(bVar6 - 0x30) < 10)" ( (binary_expression "(byte)(bVar6 - 0x30) < 10" (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n    puVar3[3] = param_1;\n    bVar6 = *param_1;\n    while ((byte)(bVar6 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }\n    puVar3[4] = pbVar8;\n    uVar10 = (long)pbVar8 - (long)param_1;\n    if ((ulong)((long)pbVar8 - (long)param_1) <= local_88) {\n      uVar10 = local_88;\n    }\n  }" { (expression_statement "puVar3[3] = param_1;" (assignment_expression "puVar3[3] = param_1" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar6 = *param_1;" (assignment_expression "bVar6 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (while_statement "while ((byte)(bVar6 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }" while (parenthesized_expression "((byte)(bVar6 - 0x30) < 10)" ( (binary_expression "(byte)(bVar6 - 0x30) < 10" (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }" { (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "bVar6 = *pbVar8;" (assignment_expression "bVar6 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) })) (expression_statement "puVar3[4] = pbVar8;" (assignment_expression "puVar3[4] = pbVar8" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar10 = (long)pbVar8 - (long)param_1;" (assignment_expression "uVar10 = (long)pbVar8 - (long)param_1" identifier = (binary_expression "(long)pbVar8 - (long)param_1" (cast_expression "(long)pbVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (if_statement "if ((ulong)((long)pbVar8 - (long)param_1) <= local_88) {\n      uVar10 = local_88;\n    }" if (parenthesized_expression "((ulong)((long)pbVar8 - (long)param_1) <= local_88)" ( (binary_expression "(ulong)((long)pbVar8 - (long)param_1) <= local_88" (call_expression "(ulong)((long)pbVar8 - (long)param_1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)pbVar8 - (long)param_1)" ( (binary_expression "(long)pbVar8 - (long)param_1" (cast_expression "(long)pbVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) <= identifier) )) (compound_statement "{\n      uVar10 = local_88;\n    }" { (expression_statement "uVar10 = local_88;" (assignment_expression "uVar10 = local_88" identifier = identifier) ;) })) })) (labeled_statement "LAB_00110e66:\n  local_88 = uVar10;" statement_identifier : (expression_statement "local_88 = uVar10;" (assignment_expression "local_88 = uVar10" identifier = identifier) ;)) (expression_statement "param_1 = pbVar8;" (assignment_expression "param_1 = pbVar8" identifier = identifier) ;) (expression_statement "uVar10 = local_70;" (assignment_expression "uVar10 = local_70" identifier = identifier) ;) (if_statement "if (*pbVar8 != 0x2e) goto LAB_00110e6f;" if (parenthesized_expression "(*pbVar8 != 0x2e)" ( (binary_expression "*pbVar8 != 0x2e" (pointer_expression "*pbVar8" * identifier) != number_literal) )) (goto_statement "goto LAB_00110e6f;" goto statement_identifier ;)) (if_statement "if (pbVar8[1] != 0x2a) {\n    param_1 = pbVar8 + 1;\n    puVar3[6] = pbVar8;\n    bVar6 = pbVar8[1];\n    while ((byte)(bVar6 - 0x30) < 10) {\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }\n    puVar3[7] = param_1;\n    uVar10 = (long)param_1 - (long)pbVar8;\n    if ((ulong)((long)param_1 - (long)pbVar8) <= local_70) {\n      uVar10 = local_70;\n    }\n    goto LAB_00110e6f;\n  }" if (parenthesized_expression "(pbVar8[1] != 0x2a)" ( (binary_expression "pbVar8[1] != 0x2a" (subscript_expression "pbVar8[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    param_1 = pbVar8 + 1;\n    puVar3[6] = pbVar8;\n    bVar6 = pbVar8[1];\n    while ((byte)(bVar6 - 0x30) < 10) {\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }\n    puVar3[7] = param_1;\n    uVar10 = (long)param_1 - (long)pbVar8;\n    if ((ulong)((long)param_1 - (long)pbVar8) <= local_70) {\n      uVar10 = local_70;\n    }\n    goto LAB_00110e6f;\n  }" { (expression_statement "param_1 = pbVar8 + 1;" (assignment_expression "param_1 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "puVar3[6] = pbVar8;" (assignment_expression "puVar3[6] = pbVar8" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar6 = pbVar8[1];" (assignment_expression "bVar6 = pbVar8[1]" identifier = (subscript_expression "pbVar8[1]" identifier [ number_literal ])) ;) (while_statement "while ((byte)(bVar6 - 0x30) < 10) {\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }" while (parenthesized_expression "((byte)(bVar6 - 0x30) < 10)" ( (binary_expression "(byte)(bVar6 - 0x30) < 10" (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }" { (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) (expression_statement "bVar6 = *param_1;" (assignment_expression "bVar6 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) })) (expression_statement "puVar3[7] = param_1;" (assignment_expression "puVar3[7] = param_1" (subscript_expression "puVar3[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar10 = (long)param_1 - (long)pbVar8;" (assignment_expression "uVar10 = (long)param_1 - (long)pbVar8" identifier = (binary_expression "(long)param_1 - (long)pbVar8" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pbVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (if_statement "if ((ulong)((long)param_1 - (long)pbVar8) <= local_70) {\n      uVar10 = local_70;\n    }" if (parenthesized_expression "((ulong)((long)param_1 - (long)pbVar8) <= local_70)" ( (binary_expression "(ulong)((long)param_1 - (long)pbVar8) <= local_70" (call_expression "(ulong)((long)param_1 - (long)pbVar8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)param_1 - (long)pbVar8)" ( (binary_expression "(long)param_1 - (long)pbVar8" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pbVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) <= identifier) )) (compound_statement "{\n      uVar10 = local_70;\n    }" { (expression_statement "uVar10 = local_70;" (assignment_expression "uVar10 = local_70" identifier = identifier) ;) })) (goto_statement "goto LAB_00110e6f;" goto statement_identifier ;) })) (expression_statement "puVar3[6] = pbVar8;" (assignment_expression "puVar3[6] = pbVar8" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1 = pbVar8 + 2;" (assignment_expression "param_1 = pbVar8 + 2" identifier = (binary_expression "pbVar8 + 2" identifier + number_literal)) ;) (expression_statement "puVar3[7] = param_1;" (assignment_expression "puVar3[7] = param_1" (subscript_expression "puVar3[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar10 = 2;" (assignment_expression "uVar10 = 2" identifier = number_literal) ;) (if_statement "if (1 < local_70) {\n    uVar10 = local_70;\n  }" if (parenthesized_expression "(1 < local_70)" ( (binary_expression "1 < local_70" number_literal < identifier) )) (compound_statement "{\n    uVar10 = local_70;\n  }" { (expression_statement "uVar10 = local_70;" (assignment_expression "uVar10 = local_70" identifier = identifier) ;) })) (expression_statement "bVar6 = pbVar8[2];" (assignment_expression "bVar6 = pbVar8[2]" identifier = (subscript_expression "pbVar8[2]" identifier [ number_literal ])) ;) (expression_statement "pbVar12 = param_1;" (assignment_expression "pbVar12 = param_1" identifier = identifier) ;) (if_statement "if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    if (bVar4 == 0x24) {\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }\n  }" if (parenthesized_expression "((byte)(bVar6 - 0x30) < 10)" ( (binary_expression "(byte)(bVar6 - 0x30) < 10" (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n    do {\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    if (bVar4 == 0x24) {\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }\n  }" { (do_statement "do {\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);" do (compound_statement "{\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    }" { (expression_statement "bVar4 = pbVar12[1];" (assignment_expression "bVar4 = pbVar12[1]" identifier = (subscript_expression "pbVar12[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((byte)(bVar4 - 0x30) < 10)" ( (binary_expression "(byte)(bVar4 - 0x30) < 10" (call_expression "(byte)(bVar4 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar4 - 0x30)" ( (binary_expression "bVar4 - 0x30" identifier - number_literal) ))) < number_literal) )) ;) (if_statement "if (bVar4 == 0x24) {\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }" if (parenthesized_expression "(bVar4 == 0x24)" ( (binary_expression "bVar4 == 0x24" identifier == number_literal) )) (compound_statement "{\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }" { (expression_statement "pbVar8 = pbVar8 + 2;" (assignment_expression "pbVar8 = pbVar8 + 2" identifier = (binary_expression "pbVar8 + 2" identifier + number_literal)) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );" do (compound_statement "{\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      }" { (expression_statement "uVar11 = local_50;" (assignment_expression "uVar11 = local_50" identifier = identifier) ;) (if_statement "if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }" if (parenthesized_expression "(uVar13 < 0x199999999999999a)" ( (binary_expression "uVar13 < 0x199999999999999a" identifier < number_literal) )) (compound_statement "{\n          uVar11 = uVar13 * 10;\n        }" { (expression_statement "uVar11 = uVar13 * 10;" (assignment_expression "uVar11 = uVar13 * 10" identifier = (binary_expression "uVar13 * 10" identifier * number_literal)) ;) })) (expression_statement "uVar13 = (long)((char)bVar6 + -0x30) + uVar11;" (assignment_expression "uVar13 = (long)((char)bVar6 + -0x30) + uVar11" identifier = (binary_expression "(long)((char)bVar6 + -0x30) + uVar11" (cast_expression "(long)((char)bVar6 + -0x30)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((char)bVar6 + -0x30)" ( (binary_expression "(char)bVar6 + -0x30" (cast_expression "(char)bVar6" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ))) + identifier)) ;) (if_statement "if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }" if (parenthesized_expression "(CARRY8((long)((char)bVar6 + -0x30),uVar11))" ( (call_expression "CARRY8((long)((char)bVar6 + -0x30),uVar11)" identifier (argument_list "((long)((char)bVar6 + -0x30),uVar11)" ( (cast_expression "(long)((char)bVar6 + -0x30)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((char)bVar6 + -0x30)" ( (binary_expression "(char)bVar6 + -0x30" (cast_expression "(char)bVar6" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ))) , identifier ))) )) (compound_statement "{\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }" { (expression_statement "bVar6 = pbVar8[1];" (assignment_expression "bVar6 = pbVar8[1]" identifier = (subscript_expression "pbVar8[1]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = local_50;" (assignment_expression "uVar13 = local_50" identifier = identifier) ;) (if_statement "if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(9 < (byte)(bVar6 - 0x30))" ( (binary_expression "9 < (byte)(bVar6 - 0x30)" number_literal < (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) )))) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) }) (else_clause "else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }" else (compound_statement "{\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }" { (expression_statement "bVar6 = pbVar8[1];" (assignment_expression "bVar6 = pbVar8[1]" identifier = (subscript_expression "pbVar8[1]" identifier [ number_literal ])) ;) (if_statement "if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;" if (parenthesized_expression "(9 < (byte)(bVar6 - 0x30))" ( (binary_expression "9 < (byte)(bVar6 - 0x30)" number_literal < (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) )))) )) (goto_statement "goto LAB_00111244;" goto statement_identifier ;)) }))) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (if_statement "if (puVar3[8] == -1) {\n    puVar3[8] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }" if (parenthesized_expression "(puVar3[8] == -1)" ( (binary_expression "puVar3[8] == -1" (subscript_expression "puVar3[8]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    puVar3[8] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }" { (expression_statement "puVar3[8] = local_60;" (assignment_expression "puVar3[8] = local_60" (subscript_expression "puVar3[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar17 = local_60 == -1;" (assignment_expression "bVar17 = local_60 == -1" identifier = (binary_expression "local_60 == -1" identifier == number_literal)) ;) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" identifier = (binary_expression "local_60 + 1" identifier + number_literal)) ;) (if_statement "if (bVar17) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(bVar17)" ( identifier )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0011110c;" goto statement_identifier ;) (labeled_statement "LAB_00111003:\n  uVar13 = uVar13 - 1;" statement_identifier : (expression_statement "uVar13 = uVar13 - 1;" (assignment_expression "uVar13 = uVar13 - 1" identifier = (binary_expression "uVar13 - 1" identifier - number_literal)) ;)) (if_statement "if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(0xfffffffffffffffd < uVar13)" ( (binary_expression "0xfffffffffffffffd < uVar13" number_literal < identifier) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) (expression_statement "puVar3[5] = uVar13;" (assignment_expression "puVar3[5] = uVar13" (subscript_expression "puVar3[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar8 = pbVar8 + 2;" (assignment_expression "pbVar8 = pbVar8 + 2" identifier = (binary_expression "pbVar8 + 2" identifier + number_literal)) ;) (labeled_statement "LAB_00110ebb:\n  uVar13 = puVar3[5];" statement_identifier : (expression_statement "uVar13 = puVar3[5];" (assignment_expression "uVar13 = puVar3[5]" identifier = (subscript_expression "puVar3[5]" identifier [ number_literal ])) ;)) (if_statement "if (uVar13 < local_90) {\nLAB_00110f4e:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) goto switchD_001113be_caseD_26;\n    goto LAB_00110e66;\n  }" if (parenthesized_expression "(uVar13 < local_90)" ( (binary_expression "uVar13 < local_90" identifier < identifier) )) (compound_statement "{\nLAB_00110f4e:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) goto switchD_001113be_caseD_26;\n    goto LAB_00110e66;\n  }" { (labeled_statement "LAB_00110f4e:\n    uVar11 = *param_3;" statement_identifier : (expression_statement "uVar11 = *param_3;" (assignment_expression "uVar11 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;)) (while_statement "while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }" while (parenthesized_expression "(uVar11 <= uVar13)" ( (binary_expression "uVar11 <= uVar13" identifier <= identifier) )) (compound_statement "{\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }" { (expression_statement "*param_3 = uVar11 + 1;" (assignment_expression "*param_3 = uVar11 + 1" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar11 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;" (assignment_expression "*(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0" (pointer_expression "*(undefined4 *)(uVar11 * 0x20 + param_3[1])" * (cast_expression "(undefined4 *)(uVar11 * 0x20 + param_3[1])" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 * 0x20 + param_3[1])" ( (binary_expression "uVar11 * 0x20 + param_3[1]" (binary_expression "uVar11 * 0x20" identifier * number_literal) + (subscript_expression "param_3[1]" identifier [ number_literal ])) )))) = number_literal) ;) (expression_statement "uVar11 = *param_3;" (assignment_expression "uVar11 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) })) (expression_statement "piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);" (assignment_expression "piVar9 = (int *)(uVar13 * 0x20 + param_3[1])" identifier = (cast_expression "(int *)(uVar13 * 0x20 + param_3[1])" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar13 * 0x20 + param_3[1])" ( (binary_expression "uVar13 * 0x20 + param_3[1]" (binary_expression "uVar13 * 0x20" identifier * number_literal) + (subscript_expression "param_3[1]" identifier [ number_literal ])) )))) ;) (expression_statement "iVar7 = *piVar9;" (assignment_expression "iVar7 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (if_statement "if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      *piVar9 = 5;\n    }" { (expression_statement "*piVar9 = 5;" (assignment_expression "*piVar9 = 5" (pointer_expression "*piVar9" * identifier) = number_literal) ;) }) (else_clause "else if (iVar7 != 5) goto switchD_001113be_caseD_26;" else (if_statement "if (iVar7 != 5) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(iVar7 != 5)" ( (binary_expression "iVar7 != 5" identifier != number_literal) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)))) (goto_statement "goto LAB_00110e66;" goto statement_identifier ;) })) (if_statement "if ((-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)))) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }\n    if (local_78 != (void *)0x0) {\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }\n  }" if (parenthesized_expression "((-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000))))" ( (binary_expression "(-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)))" (parenthesized_expression "(-1 < (long)local_90)" ( (binary_expression "-1 < (long)local_90" number_literal < (cast_expression "(long)local_90" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) && (parenthesized_expression "(((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)))" ( (parenthesized_expression "((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000))" ( (binary_expression "(local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)" (parenthesized_expression "(local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))" ( (comma_expression "local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90)" (assignment_expression "local_90 = local_90 * 2" identifier = (binary_expression "local_90 * 2" identifier * number_literal)) , (binary_expression "uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90)" (binary_expression "uVar13 < local_90" identifier < identifier) || (parenthesized_expression "(local_90 = uVar13 + 1, uVar13 <= local_90)" ( (comma_expression "local_90 = uVar13 + 1, uVar13 <= local_90" (assignment_expression "local_90 = uVar13 + 1" identifier = (binary_expression "uVar13 + 1" identifier + number_literal)) , (binary_expression "uVar13 <= local_90" identifier <= identifier)) )))) )) && (parenthesized_expression "(local_90 < 0x800000000000000)" ( (binary_expression "local_90 < 0x800000000000000" identifier < number_literal) ))) )) ))) )) (compound_statement "{\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }\n    if (local_78 != (void *)0x0) {\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }\n  }" { (if_statement "if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }" if (parenthesized_expression "(puVar2 == (ulong *)param_3[1])" ( (binary_expression "puVar2 == (ulong *)param_3[1]" identifier == (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) )) (compound_statement "{\n      local_78 = malloc(local_90 << 5);\n    }" { (expression_statement "local_78 = malloc(local_90 << 5);" (assignment_expression "local_78 = malloc(local_90 << 5)" identifier = (call_expression "malloc(local_90 << 5)" identifier (argument_list "(local_90 << 5)" ( (binary_expression "local_90 << 5" identifier << number_literal) )))) ;) }) (else_clause "else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }" else (compound_statement "{\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }" { (expression_statement "local_78 = realloc((ulong *)param_3[1],local_90 << 5);" (assignment_expression "local_78 = realloc((ulong *)param_3[1],local_90 << 5)" identifier = (call_expression "realloc((ulong *)param_3[1],local_90 << 5)" identifier (argument_list "((ulong *)param_3[1],local_90 << 5)" ( (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ])) , (binary_expression "local_90 << 5" identifier << number_literal) )))) ;) }))) (if_statement "if (local_78 != (void *)0x0) {\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }" if (parenthesized_expression "(local_78 != (void *)0x0)" ( (binary_expression "local_78 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }" { (if_statement "if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }" if (parenthesized_expression "(puVar2 == (ulong *)param_3[1])" ( (binary_expression "puVar2 == (ulong *)param_3[1]" identifier == (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) )) (compound_statement "{\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }" { (expression_statement "memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);" (call_expression "memcpy(local_78,(ulong *)param_3[1],*param_3 << 5)" identifier (argument_list "(local_78,(ulong *)param_3[1],*param_3 << 5)" ( identifier , (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ])) , (binary_expression "*param_3 << 5" (pointer_expression "*param_3" * identifier) << number_literal) ))) ;) })) (expression_statement "param_3[1] = (ulong)local_78;" (assignment_expression "param_3[1] = (ulong)local_78" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (cast_expression "(ulong)local_78" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_00110f4e;" goto statement_identifier ;) })) })) (goto_statement "goto LAB_00111292;" goto statement_identifier ;) (labeled_statement "LAB_0011139e:\n  param_1 = param_1 + 1;" statement_identifier : (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;)) (switch_statement "switch(bVar6) {\n  case 0x25:\n    goto switchD_001113be_caseD_25;\n  default:\n    goto switchD_001113be_caseD_26;\n  case 0x41:\n  case 0x45:\n  case 0x46:\n  case 0x47:\n  case 0x61:\n  case 0x65:\n  case 0x66:\n  case 0x67:\n    iVar7 = 0xc;\n    if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }\n    break;\n  case 0x43:\n    iVar7 = 0xe;\n    bVar6 = 99;\n    break;\n  case 0x53:\n    iVar7 = 0x10;\n    bVar6 = 0x73;\n    break;\n  case 0x58:\n  case 0x6f:\n  case 0x75:\n  case 0x78:\n    iVar7 = 10;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }\n    break;\n  case 99:\n    iVar7 = (7 < (int)uVar14) + 0xd;\n    break;\n  case 100:\n  case 0x69:\n    iVar7 = 9;\n    if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }\n    break;\n  case 0x6e:\n    iVar7 = 0x16;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }\n    break;\n  case 0x70:\n    iVar7 = 0x11;\n    break;\n  case 0x73:\n    iVar7 = (7 < (int)uVar14) + 0xf;\n  }" switch (parenthesized_expression "(bVar6)" ( identifier )) (compound_statement "{\n  case 0x25:\n    goto switchD_001113be_caseD_25;\n  default:\n    goto switchD_001113be_caseD_26;\n  case 0x41:\n  case 0x45:\n  case 0x46:\n  case 0x47:\n  case 0x61:\n  case 0x65:\n  case 0x66:\n  case 0x67:\n    iVar7 = 0xc;\n    if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }\n    break;\n  case 0x43:\n    iVar7 = 0xe;\n    bVar6 = 99;\n    break;\n  case 0x53:\n    iVar7 = 0x10;\n    bVar6 = 0x73;\n    break;\n  case 0x58:\n  case 0x6f:\n  case 0x75:\n  case 0x78:\n    iVar7 = 10;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }\n    break;\n  case 99:\n    iVar7 = (7 < (int)uVar14) + 0xd;\n    break;\n  case 100:\n  case 0x69:\n    iVar7 = 9;\n    if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }\n    break;\n  case 0x6e:\n    iVar7 = 0x16;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }\n    break;\n  case 0x70:\n    iVar7 = 0x11;\n    break;\n  case 0x73:\n    iVar7 = (7 < (int)uVar14) + 0xf;\n  }" { (case_statement "case 0x25:\n    goto switchD_001113be_caseD_25;" case number_literal : (goto_statement "goto switchD_001113be_caseD_25;" goto statement_identifier ;)) (case_statement "default:\n    goto switchD_001113be_caseD_26;" default : (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) (case_statement "case 0x41:" case number_literal :) (case_statement "case 0x45:" case number_literal :) (case_statement "case 0x46:" case number_literal :) (case_statement "case 0x47:" case number_literal :) (case_statement "case 0x61:" case number_literal :) (case_statement "case 0x65:" case number_literal :) (case_statement "case 0x66:" case number_literal :) (case_statement "case 0x67:\n    iVar7 = 0xc;\n    if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }\n    break;" case number_literal : (expression_statement "iVar7 = 0xc;" (assignment_expression "iVar7 = 0xc" identifier = number_literal) ;) (if_statement "if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }" if (parenthesized_expression "((int)uVar14 < 0x10)" ( (binary_expression "(int)uVar14 < 0x10" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }" { (expression_statement "iVar7 = ((uVar14 & 4) != 0) + 0xb;" (assignment_expression "iVar7 = ((uVar14 & 4) != 0) + 0xb" identifier = (binary_expression "((uVar14 & 4) != 0) + 0xb" (parenthesized_expression "((uVar14 & 4) != 0)" ( (binary_expression "(uVar14 & 4) != 0" (parenthesized_expression "(uVar14 & 4)" ( (binary_expression "uVar14 & 4" identifier & number_literal) )) != number_literal) )) + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x43:\n    iVar7 = 0xe;\n    bVar6 = 99;\n    break;" case number_literal : (expression_statement "iVar7 = 0xe;" (assignment_expression "iVar7 = 0xe" identifier = number_literal) ;) (expression_statement "bVar6 = 99;" (assignment_expression "bVar6 = 99" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x53:\n    iVar7 = 0x10;\n    bVar6 = 0x73;\n    break;" case number_literal : (expression_statement "iVar7 = 0x10;" (assignment_expression "iVar7 = 0x10" identifier = number_literal) ;) (expression_statement "bVar6 = 0x73;" (assignment_expression "bVar6 = 0x73" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x58:" case number_literal :) (case_statement "case 0x6f:" case number_literal :) (case_statement "case 0x75:" case number_literal :) (case_statement "case 0x78:\n    iVar7 = 10;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }\n    break;" case number_literal : (expression_statement "iVar7 = 10;" (assignment_expression "iVar7 = 10" identifier = number_literal) ;) (if_statement "if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }" if (parenthesized_expression "((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0))))" ( (binary_expression "(((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))" (parenthesized_expression "(((int)uVar14 < 0x10) && ((uVar14 & 4) == 0))" ( (binary_expression "((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)" (parenthesized_expression "((int)uVar14 < 0x10)" ( (binary_expression "(int)uVar14 < 0x10" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "((uVar14 & 4) == 0)" ( (binary_expression "(uVar14 & 4) == 0" (parenthesized_expression "(uVar14 & 4)" ( (binary_expression "uVar14 & 4" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))" ( (parenthesized_expression "(iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0))" ( (comma_expression "iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)" (assignment_expression "iVar7 = 8" identifier = number_literal) , (binary_expression "(int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)" (binary_expression "(int)uVar14 < 8" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) && (parenthesized_expression "(iVar7 = 2, (uVar14 & 2) == 0)" ( (comma_expression "iVar7 = 2, (uVar14 & 2) == 0" (assignment_expression "iVar7 = 2" identifier = number_literal) , (binary_expression "(uVar14 & 2) == 0" (parenthesized_expression "(uVar14 & 2)" ( (binary_expression "uVar14 & 2" identifier & number_literal) )) == number_literal)) )))) )) ))) )) (compound_statement "{\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }" { (expression_statement "iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;" (assignment_expression "iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4" identifier = (binary_expression "(-(uint)((uVar14 & 1) == 0) & 2) + 4" (parenthesized_expression "(-(uint)((uVar14 & 1) == 0) & 2)" ( (binary_expression "-(uint)((uVar14 & 1) == 0) & 2" (unary_expression "-(uint)((uVar14 & 1) == 0)" - (call_expression "(uint)((uVar14 & 1) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar14 & 1) == 0)" ( (binary_expression "(uVar14 & 1) == 0" (parenthesized_expression "(uVar14 & 1)" ( (binary_expression "uVar14 & 1" identifier & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 99:\n    iVar7 = (7 < (int)uVar14) + 0xd;\n    break;" case number_literal : (expression_statement "iVar7 = (7 < (int)uVar14) + 0xd;" (assignment_expression "iVar7 = (7 < (int)uVar14) + 0xd" identifier = (binary_expression "(7 < (int)uVar14) + 0xd" (parenthesized_expression "(7 < (int)uVar14)" ( (binary_expression "7 < (int)uVar14" number_literal < (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 100:" case number_literal :) (case_statement "case 0x69:\n    iVar7 = 9;\n    if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }\n    break;" case number_literal : (expression_statement "iVar7 = 9;" (assignment_expression "iVar7 = 9" identifier = number_literal) ;) (if_statement "if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }" if (parenthesized_expression "(((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0))" ( (binary_expression "((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)" (parenthesized_expression "((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8))" ( (binary_expression "(((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)" (parenthesized_expression "(((int)uVar14 < 0x10) && ((uVar14 & 4) == 0))" ( (binary_expression "((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)" (parenthesized_expression "((int)uVar14 < 0x10)" ( (binary_expression "(int)uVar14 < 0x10" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "((uVar14 & 4) == 0)" ( (binary_expression "(uVar14 & 4) == 0" (parenthesized_expression "(uVar14 & 4)" ( (binary_expression "uVar14 & 4" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(iVar7 = 7, (int)uVar14 < 8)" ( (comma_expression "iVar7 = 7, (int)uVar14 < 8" (assignment_expression "iVar7 = 7" identifier = number_literal) , (binary_expression "(int)uVar14 < 8" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ))) )) && (parenthesized_expression "(iVar7 = 1, (uVar14 & 2) == 0)" ( (comma_expression "iVar7 = 1, (uVar14 & 2) == 0" (assignment_expression "iVar7 = 1" identifier = number_literal) , (binary_expression "(uVar14 & 2) == 0" (parenthesized_expression "(uVar14 & 2)" ( (binary_expression "uVar14 & 2" identifier & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }" { (expression_statement "iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;" (assignment_expression "iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3" identifier = (binary_expression "(-(uint)((uVar14 & 1) == 0) & 2) + 3" (parenthesized_expression "(-(uint)((uVar14 & 1) == 0) & 2)" ( (binary_expression "-(uint)((uVar14 & 1) == 0) & 2" (unary_expression "-(uint)((uVar14 & 1) == 0)" - (call_expression "(uint)((uVar14 & 1) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar14 & 1) == 0)" ( (binary_expression "(uVar14 & 1) == 0" (parenthesized_expression "(uVar14 & 1)" ( (binary_expression "uVar14 & 1" identifier & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x6e:\n    iVar7 = 0x16;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }\n    break;" case number_literal : (expression_statement "iVar7 = 0x16;" (assignment_expression "iVar7 = 0x16" identifier = number_literal) ;) (if_statement "if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }" if (parenthesized_expression "((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0))))" ( (binary_expression "(((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))" (parenthesized_expression "(((int)uVar14 < 0x10) && ((uVar14 & 4) == 0))" ( (binary_expression "((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)" (parenthesized_expression "((int)uVar14 < 0x10)" ( (binary_expression "(int)uVar14 < 0x10" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "((uVar14 & 4) == 0)" ( (binary_expression "(uVar14 & 4) == 0" (parenthesized_expression "(uVar14 & 4)" ( (binary_expression "uVar14 & 4" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))" ( (parenthesized_expression "(iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0))" ( (comma_expression "iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)" (assignment_expression "iVar7 = 0x15" identifier = number_literal) , (binary_expression "(int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)" (binary_expression "(int)uVar14 < 8" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) && (parenthesized_expression "(iVar7 = 0x12, (uVar14 & 2) == 0)" ( (comma_expression "iVar7 = 0x12, (uVar14 & 2) == 0" (assignment_expression "iVar7 = 0x12" identifier = number_literal) , (binary_expression "(uVar14 & 2) == 0" (parenthesized_expression "(uVar14 & 2)" ( (binary_expression "uVar14 & 2" identifier & number_literal) )) == number_literal)) )))) )) ))) )) (compound_statement "{\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }" { (expression_statement "iVar7 = (uVar14 & 1 ^ 1) + 0x13;" (assignment_expression "iVar7 = (uVar14 & 1 ^ 1) + 0x13" identifier = (binary_expression "(uVar14 & 1 ^ 1) + 0x13" (parenthesized_expression "(uVar14 & 1 ^ 1)" ( (binary_expression "uVar14 & 1 ^ 1" (binary_expression "uVar14 & 1" identifier & number_literal) ^ number_literal) )) + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x70:\n    iVar7 = 0x11;\n    break;" case number_literal : (expression_statement "iVar7 = 0x11;" (assignment_expression "iVar7 = 0x11" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x73:\n    iVar7 = (7 < (int)uVar14) + 0xf;" case number_literal : (expression_statement "iVar7 = (7 < (int)uVar14) + 0xf;" (assignment_expression "iVar7 = (7 < (int)uVar14) + 0xf" identifier = (binary_expression "(7 < (int)uVar14) + 0xf" (parenthesized_expression "(7 < (int)uVar14)" ( (binary_expression "7 < (int)uVar14" number_literal < (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) + number_literal)) ;)) })) (if_statement "if (uVar16 == 0xffffffffffffffff) {\n    puVar3[10] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }\n  else {\n    puVar3[10] = uVar16;\n  }" if (parenthesized_expression "(uVar16 == 0xffffffffffffffff)" ( (binary_expression "uVar16 == 0xffffffffffffffff" identifier == number_literal) )) (compound_statement "{\n    puVar3[10] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }" { (expression_statement "puVar3[10] = local_60;" (assignment_expression "puVar3[10] = local_60" (subscript_expression "puVar3[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar17 = local_60 == -1;" (assignment_expression "bVar17 = local_60 == -1" identifier = (binary_expression "local_60 == -1" identifier == number_literal)) ;) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" identifier = (binary_expression "local_60 + 1" identifier + number_literal)) ;) (if_statement "if (bVar17) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(bVar17)" ( identifier )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) }) (else_clause "else {\n    puVar3[10] = uVar16;\n  }" else (compound_statement "{\n    puVar3[10] = uVar16;\n  }" { (expression_statement "puVar3[10] = uVar16;" (assignment_expression "puVar3[10] = uVar16" (subscript_expression "puVar3[10]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "uVar16 = puVar3[10];" (assignment_expression "uVar16 = puVar3[10]" identifier = (subscript_expression "puVar3[10]" identifier [ number_literal ])) ;) (if_statement "if (uVar16 < local_90) {\nLAB_001115b1:\n    uVar10 = *param_3;\n    while (uVar10 <= uVar16) {\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }\n    piVar9 = (int *)(uVar16 * 0x20 + param_3[1]);\n    iVar5 = *piVar9;\n    if (iVar5 == 0) {\n      *piVar9 = iVar7;\n    }\n    else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;\nswitchD_001113be_caseD_25:\n    *(byte *)(puVar3 + 9) = bVar6;\n    puVar3[1] = param_1;\n    uVar16 = *param_2;\n    *param_2 = uVar16 + 1;\n    if (uVar16 + 1 < local_68) goto LAB_00110cf5;\n    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;\n    puVar15 = (ulong *)param_2[1];\n    if (puVar1 != puVar15) {\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }\n    __dest = malloc(local_68 * 0xb0);\n    if (__dest != (void *)0x0) goto LAB_00111732;\n    puVar15 = (ulong *)param_3[1];\n    if (puVar2 == puVar15) goto LAB_001112b2;\n    goto LAB_0011129d;\n  }" if (parenthesized_expression "(uVar16 < local_90)" ( (binary_expression "uVar16 < local_90" identifier < identifier) )) (compound_statement "{\nLAB_001115b1:\n    uVar10 = *param_3;\n    while (uVar10 <= uVar16) {\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }\n    piVar9 = (int *)(uVar16 * 0x20 + param_3[1]);\n    iVar5 = *piVar9;\n    if (iVar5 == 0) {\n      *piVar9 = iVar7;\n    }\n    else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;\nswitchD_001113be_caseD_25:\n    *(byte *)(puVar3 + 9) = bVar6;\n    puVar3[1] = param_1;\n    uVar16 = *param_2;\n    *param_2 = uVar16 + 1;\n    if (uVar16 + 1 < local_68) goto LAB_00110cf5;\n    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;\n    puVar15 = (ulong *)param_2[1];\n    if (puVar1 != puVar15) {\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }\n    __dest = malloc(local_68 * 0xb0);\n    if (__dest != (void *)0x0) goto LAB_00111732;\n    puVar15 = (ulong *)param_3[1];\n    if (puVar2 == puVar15) goto LAB_001112b2;\n    goto LAB_0011129d;\n  }" { (labeled_statement "LAB_001115b1:\n    uVar10 = *param_3;" statement_identifier : (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;)) (while_statement "while (uVar10 <= uVar16) {\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }" while (parenthesized_expression "(uVar10 <= uVar16)" ( (binary_expression "uVar10 <= uVar16" identifier <= identifier) )) (compound_statement "{\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }" { (expression_statement "*param_3 = uVar10 + 1;" (assignment_expression "*param_3 = uVar10 + 1" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;" (assignment_expression "*(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0" (pointer_expression "*(undefined4 *)(uVar10 * 0x20 + param_3[1])" * (cast_expression "(undefined4 *)(uVar10 * 0x20 + param_3[1])" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 * 0x20 + param_3[1])" ( (binary_expression "uVar10 * 0x20 + param_3[1]" (binary_expression "uVar10 * 0x20" identifier * number_literal) + (subscript_expression "param_3[1]" identifier [ number_literal ])) )))) = number_literal) ;) (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) })) (expression_statement "piVar9 = (int *)(uVar16 * 0x20 + param_3[1]);" (assignment_expression "piVar9 = (int *)(uVar16 * 0x20 + param_3[1])" identifier = (cast_expression "(int *)(uVar16 * 0x20 + param_3[1])" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar16 * 0x20 + param_3[1])" ( (binary_expression "uVar16 * 0x20 + param_3[1]" (binary_expression "uVar16 * 0x20" identifier * number_literal) + (subscript_expression "param_3[1]" identifier [ number_literal ])) )))) ;) (expression_statement "iVar5 = *piVar9;" (assignment_expression "iVar5 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (if_statement "if (iVar5 == 0) {\n      *piVar9 = iVar7;\n    }\n    else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      *piVar9 = iVar7;\n    }" { (expression_statement "*piVar9 = iVar7;" (assignment_expression "*piVar9 = iVar7" (pointer_expression "*piVar9" * identifier) = identifier) ;) }) (else_clause "else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;" else (if_statement "if (iVar5 != iVar7) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(iVar5 != iVar7)" ( (binary_expression "iVar5 != iVar7" identifier != identifier) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)))) (labeled_statement "switchD_001113be_caseD_25:\n    *(byte *)(puVar3 + 9) = bVar6;" statement_identifier : (expression_statement "*(byte *)(puVar3 + 9) = bVar6;" (assignment_expression "*(byte *)(puVar3 + 9) = bVar6" (pointer_expression "*(byte *)(puVar3 + 9)" * (cast_expression "(byte *)(puVar3 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 9)" ( (binary_expression "puVar3 + 9" identifier + number_literal) )))) = identifier) ;)) (expression_statement "puVar3[1] = param_1;" (assignment_expression "puVar3[1] = param_1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar16 = *param_2;" (assignment_expression "uVar16 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "*param_2 = uVar16 + 1;" (assignment_expression "*param_2 = uVar16 + 1" (pointer_expression "*param_2" * identifier) = (binary_expression "uVar16 + 1" identifier + number_literal)) ;) (if_statement "if (uVar16 + 1 < local_68) goto LAB_00110cf5;" if (parenthesized_expression "(uVar16 + 1 < local_68)" ( (binary_expression "uVar16 + 1 < local_68" (binary_expression "uVar16 + 1" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00110cf5;" goto statement_identifier ;)) (if_statement "if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;" if (parenthesized_expression "(((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2))" ( (binary_expression "((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)" (parenthesized_expression "((long)local_68 < 0)" ( (binary_expression "(long)local_68 < 0" (cast_expression "(long)local_68" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < number_literal) )) || (parenthesized_expression "(0x2e8ba2e8ba2e8ba < local_68 * 2)" ( (binary_expression "0x2e8ba2e8ba2e8ba < local_68 * 2" number_literal < (binary_expression "local_68 * 2" identifier * number_literal)) ))) )) (goto_statement "goto LAB_00111292;" goto statement_identifier ;)) (expression_statement "puVar15 = (ulong *)param_2[1];" (assignment_expression "puVar15 = (ulong *)param_2[1]" identifier = (cast_expression "(ulong *)param_2[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ]))) ;) (if_statement "if (puVar1 != puVar15) {\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }" if (parenthesized_expression "(puVar1 != puVar15)" ( (binary_expression "puVar1 != puVar15" identifier != identifier) )) (compound_statement "{\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }" { (expression_statement "__dest = realloc(puVar15,local_68 * 0xb0);" (assignment_expression "__dest = realloc(puVar15,local_68 * 0xb0)" identifier = (call_expression "realloc(puVar15,local_68 * 0xb0)" identifier (argument_list "(puVar15,local_68 * 0xb0)" ( identifier , (binary_expression "local_68 * 0xb0" identifier * number_literal) )))) ;) (if_statement "if (__dest == (void *)0x0) goto LAB_00111292;" if (parenthesized_expression "(__dest == (void *)0x0)" ( (binary_expression "__dest == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00111292;" goto statement_identifier ;)) (expression_statement "puVar15 = (ulong *)param_2[1];" (assignment_expression "puVar15 = (ulong *)param_2[1]" identifier = (cast_expression "(ulong *)param_2[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ]))) ;) (if_statement "if (puVar1 != puVar15) goto LAB_0011166e;" if (parenthesized_expression "(puVar1 != puVar15)" ( (binary_expression "puVar1 != puVar15" identifier != identifier) )) (goto_statement "goto LAB_0011166e;" goto statement_identifier ;)) (labeled_statement "LAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);" statement_identifier : (expression_statement "memcpy(__dest,puVar15,*param_2 * 0x58);" (call_expression "memcpy(__dest,puVar15,*param_2 * 0x58)" identifier (argument_list "(__dest,puVar15,*param_2 * 0x58)" ( identifier , identifier , (binary_expression "*param_2 * 0x58" (pointer_expression "*param_2" * identifier) * number_literal) ))) ;)) (labeled_statement "LAB_0011166e:\n      param_2[1] = (ulong)__dest;" statement_identifier : (expression_statement "param_2[1] = (ulong)__dest;" (assignment_expression "param_2[1] = (ulong)__dest" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (cast_expression "(ulong)__dest" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;)) (expression_statement "local_68 = local_68 * 2;" (assignment_expression "local_68 = local_68 * 2" identifier = (binary_expression "local_68 * 2" identifier * number_literal)) ;) (goto_statement "goto LAB_00110cf5;" goto statement_identifier ;) })) (expression_statement "__dest = malloc(local_68 * 0xb0);" (assignment_expression "__dest = malloc(local_68 * 0xb0)" identifier = (call_expression "malloc(local_68 * 0xb0)" identifier (argument_list "(local_68 * 0xb0)" ( (binary_expression "local_68 * 0xb0" identifier * number_literal) )))) ;) (if_statement "if (__dest != (void *)0x0) goto LAB_00111732;" if (parenthesized_expression "(__dest != (void *)0x0)" ( (binary_expression "__dest != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00111732;" goto statement_identifier ;)) (expression_statement "puVar15 = (ulong *)param_3[1];" (assignment_expression "puVar15 = (ulong *)param_3[1]" identifier = (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) ;) (if_statement "if (puVar2 == puVar15) goto LAB_001112b2;" if (parenthesized_expression "(puVar2 == puVar15)" ( (binary_expression "puVar2 == puVar15" identifier == identifier) )) (goto_statement "goto LAB_001112b2;" goto statement_identifier ;)) (goto_statement "goto LAB_0011129d;" goto statement_identifier ;) })) (if_statement "if ((((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))\n     || (0x7ffffffffffffff < local_90)) goto LAB_00111292;" if (parenthesized_expression "((((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))\n     || (0x7ffffffffffffff < local_90))" ( (binary_expression "(((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))\n     || (0x7ffffffffffffff < local_90)" (parenthesized_expression "(((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))" ( (binary_expression "((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16)))" (parenthesized_expression "((long)local_90 < 0)" ( (binary_expression "(long)local_90 < 0" (cast_expression "(long)local_90" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < number_literal) )) || (parenthesized_expression "((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16)))" ( (parenthesized_expression "(local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))" ( (comma_expression "local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16)" (assignment_expression "local_90 = local_90 * 2" identifier = (binary_expression "local_90 * 2" identifier * number_literal)) , (binary_expression "local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16)" (binary_expression "local_90 <= uVar16" identifier <= identifier) && (parenthesized_expression "(local_90 = uVar16 + 1, local_90 < uVar16)" ( (comma_expression "local_90 = uVar16 + 1, local_90 < uVar16" (assignment_expression "local_90 = uVar16 + 1" identifier = (binary_expression "uVar16 + 1" identifier + number_literal)) , (binary_expression "local_90 < uVar16" identifier < identifier)) )))) )) ))) )) || (parenthesized_expression "(0x7ffffffffffffff < local_90)" ( (binary_expression "0x7ffffffffffffff < local_90" number_literal < identifier) ))) )) (goto_statement "goto LAB_00111292;" goto statement_identifier ;)) (expression_statement "local_48 = (ulong *)param_3[1];" (assignment_expression "local_48 = (ulong *)param_3[1]" identifier = (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) ;) (if_statement "if (puVar2 != local_48) {\n    local_40 = realloc(local_48,local_90 << 5);\n    if (local_40 != (void *)0x0) {\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }\n    goto LAB_00111292;\n  }" if (parenthesized_expression "(puVar2 != local_48)" ( (binary_expression "puVar2 != local_48" identifier != identifier) )) (compound_statement "{\n    local_40 = realloc(local_48,local_90 << 5);\n    if (local_40 != (void *)0x0) {\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }\n    goto LAB_00111292;\n  }" { (expression_statement "local_40 = realloc(local_48,local_90 << 5);" (assignment_expression "local_40 = realloc(local_48,local_90 << 5)" identifier = (call_expression "realloc(local_48,local_90 << 5)" identifier (argument_list "(local_48,local_90 << 5)" ( identifier , (binary_expression "local_90 << 5" identifier << number_literal) )))) ;) (if_statement "if (local_40 != (void *)0x0) {\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }" if (parenthesized_expression "(local_40 != (void *)0x0)" ( (binary_expression "local_40 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }" { (expression_statement "local_48 = (ulong *)param_3[1];" (assignment_expression "local_48 = (ulong *)param_3[1]" identifier = (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) ;) (if_statement "if (puVar2 == local_48) goto LAB_001116c7;" if (parenthesized_expression "(puVar2 == local_48)" ( (binary_expression "puVar2 == local_48" identifier == identifier) )) (goto_statement "goto LAB_001116c7;" goto statement_identifier ;)) (goto_statement "goto LAB_001115a8;" goto statement_identifier ;) })) (goto_statement "goto LAB_00111292;" goto statement_identifier ;) })) (expression_statement "local_40 = malloc(local_90 << 5);" (assignment_expression "local_40 = malloc(local_90 << 5)" identifier = (call_expression "malloc(local_90 << 5)" identifier (argument_list "(local_90 << 5)" ( (binary_expression "local_90 << 5" identifier << number_literal) )))) ;) (if_statement "if (local_40 != (void *)0x0) {\nLAB_001116c7:\n    memcpy(local_40,local_48,*param_3 << 5);\nLAB_001115a8:\n    param_3[1] = (ulong)local_40;\n    goto LAB_001115b1;\n  }" if (parenthesized_expression "(local_40 != (void *)0x0)" ( (binary_expression "local_40 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001116c7:\n    memcpy(local_40,local_48,*param_3 << 5);\nLAB_001115a8:\n    param_3[1] = (ulong)local_40;\n    goto LAB_001115b1;\n  }" { (labeled_statement "LAB_001116c7:\n    memcpy(local_40,local_48,*param_3 << 5);" statement_identifier : (expression_statement "memcpy(local_40,local_48,*param_3 << 5);" (call_expression "memcpy(local_40,local_48,*param_3 << 5)" identifier (argument_list "(local_40,local_48,*param_3 << 5)" ( identifier , identifier , (binary_expression "*param_3 << 5" (pointer_expression "*param_3" * identifier) << number_literal) ))) ;)) (labeled_statement "LAB_001115a8:\n    param_3[1] = (ulong)local_40;" statement_identifier : (expression_statement "param_3[1] = (ulong)local_40;" (assignment_expression "param_3[1] = (ulong)local_40" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (cast_expression "(ulong)local_40" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;)) (goto_statement "goto LAB_001115b1;" goto statement_identifier ;) })) (goto_statement "goto LAB_001112a2;" goto statement_identifier ;) (labeled_statement "LAB_00111244:\n  uVar13 = uVar13 - 1;" statement_identifier : (expression_statement "uVar13 = uVar13 - 1;" (assignment_expression "uVar13 = uVar13 - 1" identifier = (binary_expression "uVar13 - 1" identifier - number_literal)) ;)) (if_statement "if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(0xfffffffffffffffd < uVar13)" ( (binary_expression "0xfffffffffffffffd < uVar13" number_literal < identifier) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) (expression_statement "puVar3[8] = uVar13;" (assignment_expression "puVar3[8] = uVar13" (subscript_expression "puVar3[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1 = pbVar8 + 2;" (assignment_expression "param_1 = pbVar8 + 2" identifier = (binary_expression "pbVar8 + 2" identifier + number_literal)) ;) (labeled_statement "LAB_0011110c:\n  uVar13 = puVar3[8];" statement_identifier : (expression_statement "uVar13 = puVar3[8];" (assignment_expression "uVar13 = puVar3[8]" identifier = (subscript_expression "puVar3[8]" identifier [ number_literal ])) ;)) (if_statement "if (uVar13 < local_90) {\nLAB_0011118d:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }\nLAB_00110e6f:\n    local_70 = uVar10;\n    uVar14 = 0;\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }" if (parenthesized_expression "(uVar13 < local_90)" ( (binary_expression "uVar13 < local_90" identifier < identifier) )) (compound_statement "{\nLAB_0011118d:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }\nLAB_00110e6f:\n    local_70 = uVar10;\n    uVar14 = 0;\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }" { (labeled_statement "LAB_0011118d:\n    uVar11 = *param_3;" statement_identifier : (expression_statement "uVar11 = *param_3;" (assignment_expression "uVar11 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;)) (while_statement "while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }" while (parenthesized_expression "(uVar11 <= uVar13)" ( (binary_expression "uVar11 <= uVar13" identifier <= identifier) )) (compound_statement "{\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }" { (expression_statement "*param_3 = uVar11 + 1;" (assignment_expression "*param_3 = uVar11 + 1" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar11 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;" (assignment_expression "*(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0" (pointer_expression "*(undefined4 *)(uVar11 * 0x20 + param_3[1])" * (cast_expression "(undefined4 *)(uVar11 * 0x20 + param_3[1])" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 * 0x20 + param_3[1])" ( (binary_expression "uVar11 * 0x20 + param_3[1]" (binary_expression "uVar11 * 0x20" identifier * number_literal) + (subscript_expression "param_3[1]" identifier [ number_literal ])) )))) = number_literal) ;) (expression_statement "uVar11 = *param_3;" (assignment_expression "uVar11 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) })) (expression_statement "piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);" (assignment_expression "piVar9 = (int *)(uVar13 * 0x20 + param_3[1])" identifier = (cast_expression "(int *)(uVar13 * 0x20 + param_3[1])" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar13 * 0x20 + param_3[1])" ( (binary_expression "uVar13 * 0x20 + param_3[1]" (binary_expression "uVar13 * 0x20" identifier * number_literal) + (subscript_expression "param_3[1]" identifier [ number_literal ])) )))) ;) (expression_statement "iVar7 = *piVar9;" (assignment_expression "iVar7 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (if_statement "if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      *piVar9 = 5;\n    }" { (expression_statement "*piVar9 = 5;" (assignment_expression "*piVar9 = 5" (pointer_expression "*piVar9" * identifier) = number_literal) ;) }) (else_clause "else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }" else (if_statement "if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }" if (parenthesized_expression "(iVar7 != 5)" ( (binary_expression "iVar7 != 5" identifier != number_literal) )) (compound_statement "{\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }" { (labeled_statement "switchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }" statement_identifier : (if_statement "if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }" if (parenthesized_expression "(puVar2 != (ulong *)param_3[1])" ( (binary_expression "puVar2 != (ulong *)param_3[1]" identifier != (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) )) (compound_statement "{\n        free((ulong *)param_3[1]);\n      }" { (expression_statement "free((ulong *)param_3[1]);" (call_expression "free((ulong *)param_3[1])" identifier (argument_list "((ulong *)param_3[1])" ( (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ])) ))) ;) }))) (if_statement "if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }" if (parenthesized_expression "(puVar1 != (ulong *)param_2[1])" ( (binary_expression "puVar1 != (ulong *)param_2[1]" identifier != (cast_expression "(ulong *)param_2[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ]))) )) (compound_statement "{\n        free((ulong *)param_2[1]);\n      }" { (expression_statement "free((ulong *)param_2[1]);" (call_expression "free((ulong *)param_2[1])" identifier (argument_list "((ulong *)param_2[1])" ( (cast_expression "(ulong *)param_2[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ])) ))) ;) })) (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar9 = 0x16;" (assignment_expression "*piVar9 = 0x16" (pointer_expression "*piVar9" * identifier) = number_literal) ;) (return_statement "return 0xffffffff;" return number_literal ;) })))) (labeled_statement "LAB_00110e6f:\n    local_70 = uVar10;" statement_identifier : (expression_statement "local_70 = uVar10;" (assignment_expression "local_70 = uVar10" identifier = identifier) ;)) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (do_statement "do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    } while( true );" do (compound_statement "{\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    }" { (expression_statement "bVar6 = *param_1;" (assignment_expression "bVar6 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" if (parenthesized_expression "(bVar6 == 0x68)" ( (binary_expression "bVar6 == 0x68" identifier == number_literal) )) (compound_statement "{\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }" { (expression_statement "uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);" (assignment_expression "uVar14 = uVar14 | 1 << ((byte)uVar14 & 1)" identifier = (binary_expression "uVar14 | 1 << ((byte)uVar14 & 1)" identifier | (binary_expression "1 << ((byte)uVar14 & 1)" number_literal << (parenthesized_expression "((byte)uVar14 & 1)" ( (binary_expression "(byte)uVar14 & 1" (cast_expression "(byte)uVar14" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))))) ;) }) (else_clause "else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" else (if_statement "if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" if (parenthesized_expression "(bVar6 == 0x4c)" ( (binary_expression "bVar6 == 0x4c" identifier == number_literal) )) (compound_statement "{\n        uVar14 = uVar14 | 4;\n      }" { (expression_statement "uVar14 = uVar14 | 4;" (assignment_expression "uVar14 = uVar14 | 4" identifier = (binary_expression "uVar14 | 4" identifier | number_literal)) ;) }) (else_clause "else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" else (if_statement "if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" if (parenthesized_expression "(bVar6 == 0x6c)" ( (binary_expression "bVar6 == 0x6c" identifier == number_literal) )) (compound_statement "{\n        uVar14 = uVar14 + 8;\n      }" { (expression_statement "uVar14 = uVar14 + 8;" (assignment_expression "uVar14 = uVar14 + 8" identifier = (binary_expression "uVar14 + 8" identifier + number_literal)) ;) }) (else_clause "else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" else (if_statement "if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" if (parenthesized_expression "(bVar6 == 0x6a)" ( (binary_expression "bVar6 == 0x6a" identifier == number_literal) )) (compound_statement "{\n        uVar14 = uVar14 + 8;\n      }" { (expression_statement "uVar14 = uVar14 + 8;" (assignment_expression "uVar14 = uVar14 + 8" identifier = (binary_expression "uVar14 + 8" identifier + number_literal)) ;) }) (else_clause "else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" else (if_statement "if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" if (parenthesized_expression "((bVar6 & 0xdf) == 0x5a)" ( (binary_expression "(bVar6 & 0xdf) == 0x5a" (parenthesized_expression "(bVar6 & 0xdf)" ( (binary_expression "bVar6 & 0xdf" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar14 = uVar14 + 8;\n      }" { (expression_statement "uVar14 = uVar14 + 8;" (assignment_expression "uVar14 = uVar14 + 8" identifier = (binary_expression "uVar14 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" else (compound_statement "{\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" { (if_statement "if (bVar6 != 0x74) goto LAB_0011139e;" if (parenthesized_expression "(bVar6 != 0x74)" ( (binary_expression "bVar6 != 0x74" identifier != number_literal) )) (goto_statement "goto LAB_0011139e;" goto statement_identifier ;)) (expression_statement "uVar14 = uVar14 + 8;" (assignment_expression "uVar14 = uVar14 + 8" identifier = (binary_expression "uVar14 + 8" identifier + number_literal)) ;) }))))))))))) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if (((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))\n     && (local_90 < 0x800000000000000)) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }\n  }" if (parenthesized_expression "(((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))\n     && (local_90 < 0x800000000000000))" ( (binary_expression "((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))\n     && (local_90 < 0x800000000000000)" (parenthesized_expression "((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))" ( (binary_expression "(-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90)))" (parenthesized_expression "(-1 < (long)local_90)" ( (binary_expression "-1 < (long)local_90" number_literal < (cast_expression "(long)local_90" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) && (parenthesized_expression "((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90)))" ( (parenthesized_expression "(local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))" ( (comma_expression "local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90)" (assignment_expression "local_90 = local_90 * 2" identifier = (binary_expression "local_90 * 2" identifier * number_literal)) , (binary_expression "uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90)" (binary_expression "uVar13 < local_90" identifier < identifier) || (parenthesized_expression "(local_90 = uVar13 + 1, uVar13 <= local_90)" ( (comma_expression "local_90 = uVar13 + 1, uVar13 <= local_90" (assignment_expression "local_90 = uVar13 + 1" identifier = (binary_expression "uVar13 + 1" identifier + number_literal)) , (binary_expression "uVar13 <= local_90" identifier <= identifier)) )))) )) ))) )) && (parenthesized_expression "(local_90 < 0x800000000000000)" ( (binary_expression "local_90 < 0x800000000000000" identifier < number_literal) ))) )) (compound_statement "{\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }\n  }" { (if_statement "if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }" if (parenthesized_expression "(puVar2 == (ulong *)param_3[1])" ( (binary_expression "puVar2 == (ulong *)param_3[1]" identifier == (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) )) (compound_statement "{\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }" { (expression_statement "local_78 = malloc(local_90 << 5);" (assignment_expression "local_78 = malloc(local_90 << 5)" identifier = (call_expression "malloc(local_90 << 5)" identifier (argument_list "(local_90 << 5)" ( (binary_expression "local_90 << 5" identifier << number_literal) )))) ;) (if_statement "if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }" if (parenthesized_expression "(local_78 != (void *)0x0)" ( (binary_expression "local_78 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }" { (expression_statement "puVar15 = (ulong *)param_3[1];" (assignment_expression "puVar15 = (ulong *)param_3[1]" identifier = (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);" statement_identifier : (expression_statement "memcpy(local_78,puVar15,*param_3 << 5);" (call_expression "memcpy(local_78,puVar15,*param_3 << 5)" identifier (argument_list "(local_78,puVar15,*param_3 << 5)" ( identifier , identifier , (binary_expression "*param_3 << 5" (pointer_expression "*param_3" * identifier) << number_literal) ))) ;)) (goto_statement "goto LAB_00111184;" goto statement_identifier ;) })) }) (else_clause "else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }" else (compound_statement "{\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }" { (expression_statement "local_78 = realloc((ulong *)param_3[1],local_90 << 5);" (assignment_expression "local_78 = realloc((ulong *)param_3[1],local_90 << 5)" identifier = (call_expression "realloc((ulong *)param_3[1],local_90 << 5)" identifier (argument_list "((ulong *)param_3[1],local_90 << 5)" ( (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ])) , (binary_expression "local_90 << 5" identifier << number_literal) )))) ;) (if_statement "if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }" if (parenthesized_expression "(local_78 != (void *)0x0)" ( (binary_expression "local_78 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }" { (expression_statement "puVar15 = (ulong *)param_3[1];" (assignment_expression "puVar15 = (ulong *)param_3[1]" identifier = (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) ;) (if_statement "if (puVar2 == puVar15) goto LAB_001112dd;" if (parenthesized_expression "(puVar2 == puVar15)" ( (binary_expression "puVar2 == puVar15" identifier == identifier) )) (goto_statement "goto LAB_001112dd;" goto statement_identifier ;)) (labeled_statement "LAB_00111184:\n        param_3[1] = (ulong)local_78;" statement_identifier : (expression_statement "param_3[1] = (ulong)local_78;" (assignment_expression "param_3[1] = (ulong)local_78" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (cast_expression "(ulong)local_78" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;)) (goto_statement "goto LAB_0011118d;" goto statement_identifier ;) })) }))) })) (labeled_statement "LAB_00111292:\n  puVar15 = (ulong *)param_3[1];" statement_identifier : (expression_statement "puVar15 = (ulong *)param_3[1];" (assignment_expression "puVar15 = (ulong *)param_3[1]" identifier = (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) ;)) (if_statement "if (puVar2 != puVar15) {\nLAB_0011129d:\n    free(puVar15);\n  }" if (parenthesized_expression "(puVar2 != puVar15)" ( (binary_expression "puVar2 != puVar15" identifier != identifier) )) (compound_statement "{\nLAB_0011129d:\n    free(puVar15);\n  }" { (labeled_statement "LAB_0011129d:\n    free(puVar15);" statement_identifier : (expression_statement "free(puVar15);" (call_expression "free(puVar15)" identifier (argument_list "(puVar15)" ( identifier ))) ;)) })) (labeled_statement "LAB_001112a2:\n  if (puVar1 != (ulong *)param_2[1]) {\n    free((ulong *)param_2[1]);\n  }" statement_identifier : (if_statement "if (puVar1 != (ulong *)param_2[1]) {\n    free((ulong *)param_2[1]);\n  }" if (parenthesized_expression "(puVar1 != (ulong *)param_2[1])" ( (binary_expression "puVar1 != (ulong *)param_2[1]" identifier != (cast_expression "(ulong *)param_2[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ]))) )) (compound_statement "{\n    free((ulong *)param_2[1]);\n  }" { (expression_statement "free((ulong *)param_2[1]);" (call_expression "free((ulong *)param_2[1])" identifier (argument_list "((ulong *)param_2[1])" ( (cast_expression "(ulong *)param_2[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ])) ))) ;) }))) (labeled_statement "LAB_001112b2:\n  piVar9 = __errno_location();" statement_identifier : (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;)) (expression_statement "*piVar9 = 0xc;" (assignment_expression "*piVar9 = 0xc" (pointer_expression "*piVar9" * identifier) = number_literal) ;) (return_statement "return 0xffffffff;" return number_literal ;) })))
(translation_unit "wchar_t printf_parse(char *format,char_directives *d,arguments *a)\n\n{\n  char_directive *pcVar1;\n  argument *paVar2;\n  byte bVar3;\n  arg_type aVar4;\n  byte bVar5;\n  arg_type aVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  char_directive *__dest;\n  int *piVar9;\n  ulong uVar10;\n  byte *pbVar11;\n  ulong uVar12;\n  uint uVar13;\n  char_directive *pcVar14;\n  argument *paVar15;\n  size_t sVar16;\n  ulong uVar17;\n  bool bVar18;\n  ulong local_90;\n  ulong local_88;\n  argument *local_78;\n  ulong local_70;\n  ulong local_68;\n  size_t local_60;\n  ulong local_50;\n  argument *local_48;\n  argument *local_40;\n  \n  d->count = 0;\n  pcVar1 = d->direct_alloc_dir;\n  d->dir = pcVar1;\n  a->count = 0;\n  paVar2 = a->direct_alloc_arg;\n  a->arg = paVar2;\n  local_70 = 0;\n  local_88 = 0;\n  local_90 = 7;\n  local_68 = 7;\n  local_60 = 0;\n  local_50 = 0xffffffffffffffff;\nLAB_00110cf5:\n  do {\n    pbVar7 = (byte *)format;\n    if (*pbVar7 == 0) {\n      d->dir[d->count].dir_start = (char *)pbVar7;\n      d->max_width_length = local_88;\n      d->max_precision_length = local_70;\n      return L'\0';\n    }\n    format = (char *)(pbVar7 + 1);\n  } while (*pbVar7 != 0x25);\n  pcVar14 = d->dir + d->count;\n  pcVar14->dir_start = (char *)pbVar7;\n  pcVar14->flags = L'\0';\n  pcVar14->width_start = (char *)0x0;\n  pcVar14->width_end = (char *)0x0;\n  pcVar14->width_arg_index = 0xffffffffffffffff;\n  pcVar14->precision_start = (char *)0x0;\n  pcVar14->precision_end = (char *)0x0;\n  pcVar14->precision_arg_index = 0xffffffffffffffff;\n  pcVar14->arg_index = 0xffffffffffffffff;\n  bVar5 = pbVar7[1];\n  sVar16 = 0xffffffffffffffff;\n  pbVar7 = (byte *)format;\n  if ((byte)(bVar5 - 0x30) < 10) {\n    do {\n      bVar3 = pbVar7[1];\n      pbVar7 = pbVar7 + 1;\n    } while ((byte)(bVar3 - 0x30) < 10);\n    sVar16 = 0xffffffffffffffff;\n    if (bVar3 == 0x24) {\n      uVar17 = 0;\n      do {\n        uVar12 = local_50;\n        if (uVar17 < 0x199999999999999a) {\n          uVar12 = uVar17 * 10;\n        }\n        uVar17 = (long)((char)bVar5 + -0x30) + uVar12;\n        if (CARRY8((long)((char)bVar5 + -0x30),uVar12)) {\n          bVar5 = ((byte *)format)[1];\n          uVar17 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = ((byte *)format)[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00110dec;\n        }\n        format = (char *)((byte *)format + 1);\n      } while( true );\n    }\n  }\n  goto LAB_00110e08;\nLAB_00110dec:\n  sVar16 = uVar17 - 1;\n  if (sVar16 < 0xfffffffffffffffe) {\n    format = (char *)((byte *)format + 2);\nLAB_00110e08:\n    do {\n      bVar5 = *format;\n      if (bVar5 == 0x27) {\n        pcVar14->flags = pcVar14->flags | 1;\n      }\n      else if (bVar5 == 0x2d) {\n        pcVar14->flags = pcVar14->flags | 2;\n      }\n      else if (bVar5 == 0x2b) {\n        pcVar14->flags = pcVar14->flags | 4;\n      }\n      else if (bVar5 == 0x20) {\n        pcVar14->flags = pcVar14->flags | 8;\n      }\n      else if (bVar5 == 0x23) {\n        pcVar14->flags = pcVar14->flags | 0x10;\n      }\n      else if (bVar5 == 0x30) {\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }\n      else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }\n      format = (char *)((byte *)format + 1);\n    } while( true );\n  }\n  goto switchD_001113be_caseD_26;\nLAB_00110e55:\n  if (bVar5 == 0x2a) {\n    pcVar14->width_start = format;\n    pbVar7 = (byte *)format + 1;\n    pcVar14->width_end = (char *)pbVar7;\n    uVar17 = 1;\n    if (local_88 != 0) {\n      uVar17 = local_88;\n    }\n    bVar5 = ((byte *)format)[1];\n    pbVar8 = pbVar7;\n    if ((byte)(bVar5 - 0x30) < 10) {\n      do {\n        bVar3 = pbVar8[1];\n        pbVar8 = pbVar8 + 1;\n      } while ((byte)(bVar3 - 0x30) < 10);\n      if (bVar3 == 0x24) {\n        uVar12 = 0;\n        do {\n          uVar10 = local_50;\n          if (uVar12 < 0x199999999999999a) {\n            uVar10 = uVar12 * 10;\n          }\n          uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n          if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n            bVar5 = pbVar7[1];\n            uVar12 = local_50;\n            if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar5 = pbVar7[1];\n            if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111003;\n          }\n          pbVar7 = pbVar7 + 1;\n        } while( true );\n      }\n    }\n    if (pcVar14->width_arg_index == 0xffffffffffffffff) {\n      pcVar14->width_arg_index = local_60;\n      bVar18 = local_60 == 0xffffffffffffffff;\n      local_60 = local_60 + 1;\n      if (bVar18) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }\n  pbVar7 = (byte *)format;\n  uVar17 = local_88;\n  if ((byte)(bVar5 - 0x30) < 10) {\n    pcVar14->width_start = format;\n    bVar5 = *format;\n    while ((byte)(bVar5 - 0x30) < 10) {\n      pbVar7 = pbVar7 + 1;\n      bVar5 = *pbVar7;\n    }\n    pcVar14->width_end = (char *)pbVar7;\n    uVar17 = (long)pbVar7 - (long)format;\n    if ((ulong)((long)pbVar7 - (long)format) <= local_88) {\n      uVar17 = local_88;\n    }\n  }\nLAB_00110e66:\n  local_88 = uVar17;\n  pbVar8 = pbVar7;\n  uVar17 = local_70;\n  if (*pbVar7 != 0x2e) goto LAB_00110e6f;\n  if (pbVar7[1] != 0x2a) {\n    pbVar8 = pbVar7 + 1;\n    pcVar14->precision_start = (char *)pbVar7;\n    bVar5 = pbVar7[1];\n    while ((byte)(bVar5 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar5 = *pbVar8;\n    }\n    pcVar14->precision_end = (char *)pbVar8;\n    uVar17 = (long)pbVar8 - (long)pbVar7;\n    if ((ulong)((long)pbVar8 - (long)pbVar7) <= local_70) {\n      uVar17 = local_70;\n    }\n    goto LAB_00110e6f;\n  }\n  pcVar14->precision_start = (char *)pbVar7;\n  pbVar8 = pbVar7 + 2;\n  pcVar14->precision_end = (char *)pbVar8;\n  uVar17 = 2;\n  if (1 < local_70) {\n    uVar17 = local_70;\n  }\n  bVar5 = pbVar7[2];\n  pbVar11 = pbVar8;\n  if ((byte)(bVar5 - 0x30) < 10) {\n    do {\n      bVar3 = pbVar11[1];\n      pbVar11 = pbVar11 + 1;\n    } while ((byte)(bVar3 - 0x30) < 10);\n    if (bVar3 == 0x24) {\n      pbVar7 = pbVar7 + 2;\n      uVar12 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar12 < 0x199999999999999a) {\n          uVar10 = uVar12 * 10;\n        }\n        uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n          bVar5 = pbVar7[1];\n          uVar12 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = pbVar7[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111244;\n        }\n        pbVar7 = pbVar7 + 1;\n      } while( true );\n    }\n  }\n  if (pcVar14->precision_arg_index == 0xffffffffffffffff) {\n    pcVar14->precision_arg_index = local_60;\n    bVar18 = local_60 == 0xffffffffffffffff;\n    local_60 = local_60 + 1;\n    if (bVar18) goto switchD_001113be_caseD_26;\n  }\n  goto LAB_0011110c;\nLAB_00111003:\n  uVar12 = uVar12 - 1;\n  if (0xfffffffffffffffd < uVar12) goto switchD_001113be_caseD_26;\n  pcVar14->width_arg_index = uVar12;\n  pbVar7 = pbVar7 + 2;\nLAB_00110ebb:\n  uVar12 = pcVar14->width_arg_index;\n  if (uVar12 < local_90) {\nLAB_00110f4e:\n    uVar10 = a->count;\n    while (uVar10 <= uVar12) {\n      a->count = uVar10 + 1;\n      a->arg[uVar10].type = TYPE_NONE;\n      uVar10 = a->count;\n    }\n    aVar6 = a->arg[uVar12].type;\n    if (aVar6 == TYPE_NONE) {\n      a->arg[uVar12].type = TYPE_INT;\n    }\n    else if (aVar6 != TYPE_INT) goto switchD_001113be_caseD_26;\n    goto LAB_00110e66;\n  }\n  if ((-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))\n      && (local_90 < 0x800000000000000)))) {\n    if (paVar2 == a->arg) {\n      local_78 = (argument *)malloc(local_90 << 5);\n    }\n    else {\n      local_78 = (argument *)realloc(a->arg,local_90 << 5);\n    }\n    if (local_78 != (argument *)0x0) {\n      if (paVar2 == a->arg) {\n        memcpy(local_78,a->arg,a->count << 5);\n      }\n      a->arg = local_78;\n      goto LAB_00110f4e;\n    }\n  }\n  goto LAB_00111292;\nLAB_0011139e:\n  format = (char *)(pbVar8 + 1);\n  switch(bVar5) {\n  case 0x25:\n    goto switchD_001113be_caseD_25;\n  default:\n    goto switchD_001113be_caseD_26;\n  case 0x41:\n  case 0x45:\n  case 0x46:\n  case 0x47:\n  case 0x61:\n  case 0x65:\n  case 0x66:\n  case 0x67:\n    aVar6 = TYPE_LONGDOUBLE;\n    if ((int)uVar13 < 0x10) {\n      aVar6 = ((uVar13 & 4) != 0) + TYPE_DOUBLE;\n    }\n    break;\n  case 0x43:\n    aVar6 = TYPE_WIDE_CHAR;\n    bVar5 = 99;\n    break;\n  case 0x53:\n    aVar6 = TYPE_WIDE_STRING;\n    bVar5 = 0x73;\n    break;\n  case 0x58:\n  case 0x6f:\n  case 0x75:\n  case 0x78:\n    aVar6 = TYPE_ULONGLONGINT;\n    if ((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&\n       ((aVar6 = TYPE_ULONGINT, (int)uVar13 < 8 && (aVar6 = TYPE_UCHAR, (uVar13 & 2) == 0)))) {\n      aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_USHORT;\n    }\n    break;\n  case 99:\n    aVar6 = (7 < (int)uVar13) + TYPE_CHAR;\n    break;\n  case 100:\n  case 0x69:\n    aVar6 = TYPE_LONGLONGINT;\n    if (((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) && (aVar6 = TYPE_LONGINT, (int)uVar13 < 8))\n       && (aVar6 = TYPE_SCHAR, (uVar13 & 2) == 0)) {\n      aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_SHORT;\n    }\n    break;\n  case 0x6e:\n    aVar6 = TYPE_COUNT_LONGLONGINT_POINTER;\n    if ((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&\n       ((aVar6 = TYPE_COUNT_LONGINT_POINTER, (int)uVar13 < 8 &&\n        (aVar6 = TYPE_COUNT_SCHAR_POINTER, (uVar13 & 2) == 0)))) {\n      aVar6 = (uVar13 & 1 ^ 1) + TYPE_COUNT_SHORT_POINTER;\n    }\n    break;\n  case 0x70:\n    aVar6 = TYPE_POINTER;\n    break;\n  case 0x73:\n    aVar6 = (7 < (int)uVar13) + TYPE_STRING;\n  }\n  if (sVar16 == 0xffffffffffffffff) {\n    pcVar14->arg_index = local_60;\n    bVar18 = local_60 == 0xffffffffffffffff;\n    local_60 = local_60 + 1;\n    if (bVar18) goto switchD_001113be_caseD_26;\n  }\n  else {\n    pcVar14->arg_index = sVar16;\n  }\n  uVar17 = pcVar14->arg_index;\n  if (uVar17 < local_90) {\nLAB_001115b1:\n    uVar12 = a->count;\n    while (uVar12 <= uVar17) {\n      a->count = uVar12 + 1;\n      a->arg[uVar12].type = TYPE_NONE;\n      uVar12 = a->count;\n    }\n    aVar4 = a->arg[uVar17].type;\n    if (aVar4 == TYPE_NONE) {\n      a->arg[uVar17].type = aVar6;\n    }\n    else if (aVar4 != aVar6) goto switchD_001113be_caseD_26;\nswitchD_001113be_caseD_25:\n    pcVar14->conversion = bVar5;\n    pcVar14->dir_end = format;\n    uVar17 = d->count + 1;\n    d->count = uVar17;\n    if (uVar17 < local_68) goto LAB_00110cf5;\n    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;\n    pcVar14 = d->dir;\n    if (pcVar1 != pcVar14) {\n      __dest = (char_directive *)realloc(pcVar14,local_68 * 0xb0);\n      if (__dest == (char_directive *)0x0) goto LAB_00111292;\n      pcVar14 = d->dir;\n      if (pcVar1 != pcVar14) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,pcVar14,d->count * 0x58);\nLAB_0011166e:\n      d->dir = __dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }\n    __dest = (char_directive *)malloc(local_68 * 0xb0);\n    if (__dest != (char_directive *)0x0) goto LAB_00111732;\n    paVar15 = a->arg;\n    if (paVar2 == paVar15) goto LAB_001112b2;\n    goto LAB_0011129d;\n  }\n  if ((((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar17 && (local_90 = uVar17 + 1, local_90 < uVar17))))\n     || (0x7ffffffffffffff < local_90)) goto LAB_00111292;\n  local_48 = a->arg;\n  if (paVar2 != local_48) {\n    local_40 = (argument *)realloc(local_48,local_90 << 5);\n    if (local_40 != (argument *)0x0) {\n      local_48 = a->arg;\n      if (paVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }\n    goto LAB_00111292;\n  }\n  local_40 = (argument *)malloc(local_90 << 5);\n  if (local_40 != (argument *)0x0) {\nLAB_001116c7:\n    memcpy(local_40,local_48,a->count << 5);\nLAB_001115a8:\n    a->arg = local_40;\n    goto LAB_001115b1;\n  }\n  goto LAB_001112a2;\nLAB_00111244:\n  uVar12 = uVar12 - 1;\n  if (0xfffffffffffffffd < uVar12) goto switchD_001113be_caseD_26;\n  pcVar14->precision_arg_index = uVar12;\n  pbVar8 = pbVar7 + 2;\nLAB_0011110c:\n  uVar12 = pcVar14->precision_arg_index;\n  if (uVar12 < local_90) {\nLAB_0011118d:\n    uVar10 = a->count;\n    while (uVar10 <= uVar12) {\n      a->count = uVar10 + 1;\n      a->arg[uVar10].type = TYPE_NONE;\n      uVar10 = a->count;\n    }\n    aVar6 = a->arg[uVar12].type;\n    if (aVar6 == TYPE_NONE) {\n      a->arg[uVar12].type = TYPE_INT;\n    }\n    else if (aVar6 != TYPE_INT) {\nswitchD_001113be_caseD_26:\n      if (paVar2 != a->arg) {\n        free(a->arg);\n      }\n      if (pcVar1 != d->dir) {\n        free(d->dir);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return L'\xffffffff';\n    }\nLAB_00110e6f:\n    local_70 = uVar17;\n    uVar13 = 0;\n    do {\n      bVar5 = *pbVar8;\n      if (bVar5 == 0x68) {\n        uVar13 = uVar13 | 1 << ((byte)uVar13 & 1);\n      }\n      else if (bVar5 == 0x4c) {\n        uVar13 = uVar13 | 4;\n      }\n      else if (bVar5 == 0x6c) {\n        uVar13 = uVar13 + 8;\n      }\n      else if (bVar5 == 0x6a) {\n        uVar13 = uVar13 + 8;\n      }\n      else if ((bVar5 & 0xdf) == 0x5a) {\n        uVar13 = uVar13 + 8;\n      }\n      else {\n        if (bVar5 != 0x74) goto LAB_0011139e;\n        uVar13 = uVar13 + 8;\n      }\n      pbVar8 = pbVar8 + 1;\n    } while( true );\n  }\n  if (((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))))\n     && (local_90 < 0x800000000000000)) {\n    if (paVar2 == a->arg) {\n      local_78 = (argument *)malloc(local_90 << 5);\n      if (local_78 != (argument *)0x0) {\n        paVar15 = a->arg;\nLAB_001112dd:\n        memcpy(local_78,paVar15,a->count << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = (argument *)realloc(a->arg,local_90 << 5);\n      if (local_78 != (argument *)0x0) {\n        paVar15 = a->arg;\n        if (paVar2 == paVar15) goto LAB_001112dd;\nLAB_00111184:\n        a->arg = local_78;\n        goto LAB_0011118d;\n      }\n    }\n  }\nLAB_00111292:\n  paVar15 = a->arg;\n  if (paVar2 != paVar15) {\nLAB_0011129d:\n    free(paVar15);\n  }\nLAB_001112a2:\n  if (pcVar1 != d->dir) {\n    free(d->dir);\n  }\nLAB_001112b2:\n  piVar9 = __errno_location();\n  *piVar9 = 0xc;\n  return L'\xffffffff';\n}\n\n" (function_definition "wchar_t printf_parse(char *format,char_directives *d,arguments *a)\n\n{\n  char_directive *pcVar1;\n  argument *paVar2;\n  byte bVar3;\n  arg_type aVar4;\n  byte bVar5;\n  arg_type aVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  char_directive *__dest;\n  int *piVar9;\n  ulong uVar10;\n  byte *pbVar11;\n  ulong uVar12;\n  uint uVar13;\n  char_directive *pcVar14;\n  argument *paVar15;\n  size_t sVar16;\n  ulong uVar17;\n  bool bVar18;\n  ulong local_90;\n  ulong local_88;\n  argument *local_78;\n  ulong local_70;\n  ulong local_68;\n  size_t local_60;\n  ulong local_50;\n  argument *local_48;\n  argument *local_40;\n  \n  d->count = 0;\n  pcVar1 = d->direct_alloc_dir;\n  d->dir = pcVar1;\n  a->count = 0;\n  paVar2 = a->direct_alloc_arg;\n  a->arg = paVar2;\n  local_70 = 0;\n  local_88 = 0;\n  local_90 = 7;\n  local_68 = 7;\n  local_60 = 0;\n  local_50 = 0xffffffffffffffff;\nLAB_00110cf5:\n  do {\n    pbVar7 = (byte *)format;\n    if (*pbVar7 == 0) {\n      d->dir[d->count].dir_start = (char *)pbVar7;\n      d->max_width_length = local_88;\n      d->max_precision_length = local_70;\n      return L'\0';\n    }\n    format = (char *)(pbVar7 + 1);\n  } while (*pbVar7 != 0x25);\n  pcVar14 = d->dir + d->count;\n  pcVar14->dir_start = (char *)pbVar7;\n  pcVar14->flags = L'\0';\n  pcVar14->width_start = (char *)0x0;\n  pcVar14->width_end = (char *)0x0;\n  pcVar14->width_arg_index = 0xffffffffffffffff;\n  pcVar14->precision_start = (char *)0x0;\n  pcVar14->precision_end = (char *)0x0;\n  pcVar14->precision_arg_index = 0xffffffffffffffff;\n  pcVar14->arg_index = 0xffffffffffffffff;\n  bVar5 = pbVar7[1];\n  sVar16 = 0xffffffffffffffff;\n  pbVar7 = (byte *)format;\n  if ((byte)(bVar5 - 0x30) < 10) {\n    do {\n      bVar3 = pbVar7[1];\n      pbVar7 = pbVar7 + 1;\n    } while ((byte)(bVar3 - 0x30) < 10);\n    sVar16 = 0xffffffffffffffff;\n    if (bVar3 == 0x24) {\n      uVar17 = 0;\n      do {\n        uVar12 = local_50;\n        if (uVar17 < 0x199999999999999a) {\n          uVar12 = uVar17 * 10;\n        }\n        uVar17 = (long)((char)bVar5 + -0x30) + uVar12;\n        if (CARRY8((long)((char)bVar5 + -0x30),uVar12)) {\n          bVar5 = ((byte *)format)[1];\n          uVar17 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = ((byte *)format)[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00110dec;\n        }\n        format = (char *)((byte *)format + 1);\n      } while( true );\n    }\n  }\n  goto LAB_00110e08;\nLAB_00110dec:\n  sVar16 = uVar17 - 1;\n  if (sVar16 < 0xfffffffffffffffe) {\n    format = (char *)((byte *)format + 2);\nLAB_00110e08:\n    do {\n      bVar5 = *format;\n      if (bVar5 == 0x27) {\n        pcVar14->flags = pcVar14->flags | 1;\n      }\n      else if (bVar5 == 0x2d) {\n        pcVar14->flags = pcVar14->flags | 2;\n      }\n      else if (bVar5 == 0x2b) {\n        pcVar14->flags = pcVar14->flags | 4;\n      }\n      else if (bVar5 == 0x20) {\n        pcVar14->flags = pcVar14->flags | 8;\n      }\n      else if (bVar5 == 0x23) {\n        pcVar14->flags = pcVar14->flags | 0x10;\n      }\n      else if (bVar5 == 0x30) {\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }\n      else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }\n      format = (char *)((byte *)format + 1);\n    } while( true );\n  }\n  goto switchD_001113be_caseD_26;\nLAB_00110e55:\n  if (bVar5 == 0x2a) {\n    pcVar14->width_start = format;\n    pbVar7 = (byte *)format + 1;\n    pcVar14->width_end = (char *)pbVar7;\n    uVar17 = 1;\n    if (local_88 != 0) {\n      uVar17 = local_88;\n    }\n    bVar5 = ((byte *)format)[1];\n    pbVar8 = pbVar7;\n    if ((byte)(bVar5 - 0x30) < 10) {\n      do {\n        bVar3 = pbVar8[1];\n        pbVar8 = pbVar8 + 1;\n      } while ((byte)(bVar3 - 0x30) < 10);\n      if (bVar3 == 0x24) {\n        uVar12 = 0;\n        do {\n          uVar10 = local_50;\n          if (uVar12 < 0x199999999999999a) {\n            uVar10 = uVar12 * 10;\n          }\n          uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n          if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n            bVar5 = pbVar7[1];\n            uVar12 = local_50;\n            if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar5 = pbVar7[1];\n            if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111003;\n          }\n          pbVar7 = pbVar7 + 1;\n        } while( true );\n      }\n    }\n    if (pcVar14->width_arg_index == 0xffffffffffffffff) {\n      pcVar14->width_arg_index = local_60;\n      bVar18 = local_60 == 0xffffffffffffffff;\n      local_60 = local_60 + 1;\n      if (bVar18) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }\n  pbVar7 = (byte *)format;\n  uVar17 = local_88;\n  if ((byte)(bVar5 - 0x30) < 10) {\n    pcVar14->width_start = format;\n    bVar5 = *format;\n    while ((byte)(bVar5 - 0x30) < 10) {\n      pbVar7 = pbVar7 + 1;\n      bVar5 = *pbVar7;\n    }\n    pcVar14->width_end = (char *)pbVar7;\n    uVar17 = (long)pbVar7 - (long)format;\n    if ((ulong)((long)pbVar7 - (long)format) <= local_88) {\n      uVar17 = local_88;\n    }\n  }\nLAB_00110e66:\n  local_88 = uVar17;\n  pbVar8 = pbVar7;\n  uVar17 = local_70;\n  if (*pbVar7 != 0x2e) goto LAB_00110e6f;\n  if (pbVar7[1] != 0x2a) {\n    pbVar8 = pbVar7 + 1;\n    pcVar14->precision_start = (char *)pbVar7;\n    bVar5 = pbVar7[1];\n    while ((byte)(bVar5 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar5 = *pbVar8;\n    }\n    pcVar14->precision_end = (char *)pbVar8;\n    uVar17 = (long)pbVar8 - (long)pbVar7;\n    if ((ulong)((long)pbVar8 - (long)pbVar7) <= local_70) {\n      uVar17 = local_70;\n    }\n    goto LAB_00110e6f;\n  }\n  pcVar14->precision_start = (char *)pbVar7;\n  pbVar8 = pbVar7 + 2;\n  pcVar14->precision_end = (char *)pbVar8;\n  uVar17 = 2;\n  if (1 < local_70) {\n    uVar17 = local_70;\n  }\n  bVar5 = pbVar7[2];\n  pbVar11 = pbVar8;\n  if ((byte)(bVar5 - 0x30) < 10) {\n    do {\n      bVar3 = pbVar11[1];\n      pbVar11 = pbVar11 + 1;\n    } while ((byte)(bVar3 - 0x30) < 10);\n    if (bVar3 == 0x24) {\n      pbVar7 = pbVar7 + 2;\n      uVar12 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar12 < 0x199999999999999a) {\n          uVar10 = uVar12 * 10;\n        }\n        uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n          bVar5 = pbVar7[1];\n          uVar12 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = pbVar7[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111244;\n        }\n        pbVar7 = pbVar7 + 1;\n      } while( true );\n    }\n  }\n  if (pcVar14->precision_arg_index == 0xffffffffffffffff) {\n    pcVar14->precision_arg_index = local_60;\n    bVar18 = local_60 == 0xffffffffffffffff;\n    local_60 = local_60 + 1;\n    if (bVar18) goto switchD_001113be_caseD_26;\n  }\n  goto LAB_0011110c;\nLAB_00111003:\n  uVar12 = uVar12 - 1;\n  if (0xfffffffffffffffd < uVar12) goto switchD_001113be_caseD_26;\n  pcVar14->width_arg_index = uVar12;\n  pbVar7 = pbVar7 + 2;\nLAB_00110ebb:\n  uVar12 = pcVar14->width_arg_index;\n  if (uVar12 < local_90) {\nLAB_00110f4e:\n    uVar10 = a->count;\n    while (uVar10 <= uVar12) {\n      a->count = uVar10 + 1;\n      a->arg[uVar10].type = TYPE_NONE;\n      uVar10 = a->count;\n    }\n    aVar6 = a->arg[uVar12].type;\n    if (aVar6 == TYPE_NONE) {\n      a->arg[uVar12].type = TYPE_INT;\n    }\n    else if (aVar6 != TYPE_INT) goto switchD_001113be_caseD_26;\n    goto LAB_00110e66;\n  }\n  if ((-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))\n      && (local_90 < 0x800000000000000)))) {\n    if (paVar2 == a->arg) {\n      local_78 = (argument *)malloc(local_90 << 5);\n    }\n    else {\n      local_78 = (argument *)realloc(a->arg,local_90 << 5);\n    }\n    if (local_78 != (argument *)0x0) {\n      if (paVar2 == a->arg) {\n        memcpy(local_78,a->arg,a->count << 5);\n      }\n      a->arg = local_78;\n      goto LAB_00110f4e;\n    }\n  }\n  goto LAB_00111292;\nLAB_0011139e:\n  format = (char *)(pbVar8 + 1);\n  switch(bVar5) {\n  case 0x25:\n    goto switchD_001113be_caseD_25;\n  default:\n    goto switchD_001113be_caseD_26;\n  case 0x41:\n  case 0x45:\n  case 0x46:\n  case 0x47:\n  case 0x61:\n  case 0x65:\n  case 0x66:\n  case 0x67:\n    aVar6 = TYPE_LONGDOUBLE;\n    if ((int)uVar13 < 0x10) {\n      aVar6 = ((uVar13 & 4) != 0) + TYPE_DOUBLE;\n    }\n    break;\n  case 0x43:\n    aVar6 = TYPE_WIDE_CHAR;\n    bVar5 = 99;\n    break;\n  case 0x53:\n    aVar6 = TYPE_WIDE_STRING;\n    bVar5 = 0x73;\n    break;\n  case 0x58:\n  case 0x6f:\n  case 0x75:\n  case 0x78:\n    aVar6 = TYPE_ULONGLONGINT;\n    if ((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&\n       ((aVar6 = TYPE_ULONGINT, (int)uVar13 < 8 && (aVar6 = TYPE_UCHAR, (uVar13 & 2) == 0)))) {\n      aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_USHORT;\n    }\n    break;\n  case 99:\n    aVar6 = (7 < (int)uVar13) + TYPE_CHAR;\n    break;\n  case 100:\n  case 0x69:\n    aVar6 = TYPE_LONGLONGINT;\n    if (((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) && (aVar6 = TYPE_LONGINT, (int)uVar13 < 8))\n       && (aVar6 = TYPE_SCHAR, (uVar13 & 2) == 0)) {\n      aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_SHORT;\n    }\n    break;\n  case 0x6e:\n    aVar6 = TYPE_COUNT_LONGLONGINT_POINTER;\n    if ((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&\n       ((aVar6 = TYPE_COUNT_LONGINT_POINTER, (int)uVar13 < 8 &&\n        (aVar6 = TYPE_COUNT_SCHAR_POINTER, (uVar13 & 2) == 0)))) {\n      aVar6 = (uVar13 & 1 ^ 1) + TYPE_COUNT_SHORT_POINTER;\n    }\n    break;\n  case 0x70:\n    aVar6 = TYPE_POINTER;\n    break;\n  case 0x73:\n    aVar6 = (7 < (int)uVar13) + TYPE_STRING;\n  }\n  if (sVar16 == 0xffffffffffffffff) {\n    pcVar14->arg_index = local_60;\n    bVar18 = local_60 == 0xffffffffffffffff;\n    local_60 = local_60 + 1;\n    if (bVar18) goto switchD_001113be_caseD_26;\n  }\n  else {\n    pcVar14->arg_index = sVar16;\n  }\n  uVar17 = pcVar14->arg_index;\n  if (uVar17 < local_90) {\nLAB_001115b1:\n    uVar12 = a->count;\n    while (uVar12 <= uVar17) {\n      a->count = uVar12 + 1;\n      a->arg[uVar12].type = TYPE_NONE;\n      uVar12 = a->count;\n    }\n    aVar4 = a->arg[uVar17].type;\n    if (aVar4 == TYPE_NONE) {\n      a->arg[uVar17].type = aVar6;\n    }\n    else if (aVar4 != aVar6) goto switchD_001113be_caseD_26;\nswitchD_001113be_caseD_25:\n    pcVar14->conversion = bVar5;\n    pcVar14->dir_end = format;\n    uVar17 = d->count + 1;\n    d->count = uVar17;\n    if (uVar17 < local_68) goto LAB_00110cf5;\n    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;\n    pcVar14 = d->dir;\n    if (pcVar1 != pcVar14) {\n      __dest = (char_directive *)realloc(pcVar14,local_68 * 0xb0);\n      if (__dest == (char_directive *)0x0) goto LAB_00111292;\n      pcVar14 = d->dir;\n      if (pcVar1 != pcVar14) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,pcVar14,d->count * 0x58);\nLAB_0011166e:\n      d->dir = __dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }\n    __dest = (char_directive *)malloc(local_68 * 0xb0);\n    if (__dest != (char_directive *)0x0) goto LAB_00111732;\n    paVar15 = a->arg;\n    if (paVar2 == paVar15) goto LAB_001112b2;\n    goto LAB_0011129d;\n  }\n  if ((((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar17 && (local_90 = uVar17 + 1, local_90 < uVar17))))\n     || (0x7ffffffffffffff < local_90)) goto LAB_00111292;\n  local_48 = a->arg;\n  if (paVar2 != local_48) {\n    local_40 = (argument *)realloc(local_48,local_90 << 5);\n    if (local_40 != (argument *)0x0) {\n      local_48 = a->arg;\n      if (paVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }\n    goto LAB_00111292;\n  }\n  local_40 = (argument *)malloc(local_90 << 5);\n  if (local_40 != (argument *)0x0) {\nLAB_001116c7:\n    memcpy(local_40,local_48,a->count << 5);\nLAB_001115a8:\n    a->arg = local_40;\n    goto LAB_001115b1;\n  }\n  goto LAB_001112a2;\nLAB_00111244:\n  uVar12 = uVar12 - 1;\n  if (0xfffffffffffffffd < uVar12) goto switchD_001113be_caseD_26;\n  pcVar14->precision_arg_index = uVar12;\n  pbVar8 = pbVar7 + 2;\nLAB_0011110c:\n  uVar12 = pcVar14->precision_arg_index;\n  if (uVar12 < local_90) {\nLAB_0011118d:\n    uVar10 = a->count;\n    while (uVar10 <= uVar12) {\n      a->count = uVar10 + 1;\n      a->arg[uVar10].type = TYPE_NONE;\n      uVar10 = a->count;\n    }\n    aVar6 = a->arg[uVar12].type;\n    if (aVar6 == TYPE_NONE) {\n      a->arg[uVar12].type = TYPE_INT;\n    }\n    else if (aVar6 != TYPE_INT) {\nswitchD_001113be_caseD_26:\n      if (paVar2 != a->arg) {\n        free(a->arg);\n      }\n      if (pcVar1 != d->dir) {\n        free(d->dir);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return L'\xffffffff';\n    }\nLAB_00110e6f:\n    local_70 = uVar17;\n    uVar13 = 0;\n    do {\n      bVar5 = *pbVar8;\n      if (bVar5 == 0x68) {\n        uVar13 = uVar13 | 1 << ((byte)uVar13 & 1);\n      }\n      else if (bVar5 == 0x4c) {\n        uVar13 = uVar13 | 4;\n      }\n      else if (bVar5 == 0x6c) {\n        uVar13 = uVar13 + 8;\n      }\n      else if (bVar5 == 0x6a) {\n        uVar13 = uVar13 + 8;\n      }\n      else if ((bVar5 & 0xdf) == 0x5a) {\n        uVar13 = uVar13 + 8;\n      }\n      else {\n        if (bVar5 != 0x74) goto LAB_0011139e;\n        uVar13 = uVar13 + 8;\n      }\n      pbVar8 = pbVar8 + 1;\n    } while( true );\n  }\n  if (((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))))\n     && (local_90 < 0x800000000000000)) {\n    if (paVar2 == a->arg) {\n      local_78 = (argument *)malloc(local_90 << 5);\n      if (local_78 != (argument *)0x0) {\n        paVar15 = a->arg;\nLAB_001112dd:\n        memcpy(local_78,paVar15,a->count << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = (argument *)realloc(a->arg,local_90 << 5);\n      if (local_78 != (argument *)0x0) {\n        paVar15 = a->arg;\n        if (paVar2 == paVar15) goto LAB_001112dd;\nLAB_00111184:\n        a->arg = local_78;\n        goto LAB_0011118d;\n      }\n    }\n  }\nLAB_00111292:\n  paVar15 = a->arg;\n  if (paVar2 != paVar15) {\nLAB_0011129d:\n    free(paVar15);\n  }\nLAB_001112a2:\n  if (pcVar1 != d->dir) {\n    free(d->dir);\n  }\nLAB_001112b2:\n  piVar9 = __errno_location();\n  *piVar9 = 0xc;\n  return L'\xffffffff';\n}" type_identifier (function_declarator "printf_parse(char *format,char_directives *d,arguments *a)" identifier (parameter_list "(char *format,char_directives *d,arguments *a)" ( (parameter_declaration "char *format" primitive_type (pointer_declarator "*format" * identifier)) , (parameter_declaration "char_directives *d" type_identifier (pointer_declarator "*d" * identifier)) , (parameter_declaration "arguments *a" type_identifier (pointer_declarator "*a" * identifier)) ))) (compound_statement "{\n  char_directive *pcVar1;\n  argument *paVar2;\n  byte bVar3;\n  arg_type aVar4;\n  byte bVar5;\n  arg_type aVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  char_directive *__dest;\n  int *piVar9;\n  ulong uVar10;\n  byte *pbVar11;\n  ulong uVar12;\n  uint uVar13;\n  char_directive *pcVar14;\n  argument *paVar15;\n  size_t sVar16;\n  ulong uVar17;\n  bool bVar18;\n  ulong local_90;\n  ulong local_88;\n  argument *local_78;\n  ulong local_70;\n  ulong local_68;\n  size_t local_60;\n  ulong local_50;\n  argument *local_48;\n  argument *local_40;\n  \n  d->count = 0;\n  pcVar1 = d->direct_alloc_dir;\n  d->dir = pcVar1;\n  a->count = 0;\n  paVar2 = a->direct_alloc_arg;\n  a->arg = paVar2;\n  local_70 = 0;\n  local_88 = 0;\n  local_90 = 7;\n  local_68 = 7;\n  local_60 = 0;\n  local_50 = 0xffffffffffffffff;\nLAB_00110cf5:\n  do {\n    pbVar7 = (byte *)format;\n    if (*pbVar7 == 0) {\n      d->dir[d->count].dir_start = (char *)pbVar7;\n      d->max_width_length = local_88;\n      d->max_precision_length = local_70;\n      return L'\0';\n    }\n    format = (char *)(pbVar7 + 1);\n  } while (*pbVar7 != 0x25);\n  pcVar14 = d->dir + d->count;\n  pcVar14->dir_start = (char *)pbVar7;\n  pcVar14->flags = L'\0';\n  pcVar14->width_start = (char *)0x0;\n  pcVar14->width_end = (char *)0x0;\n  pcVar14->width_arg_index = 0xffffffffffffffff;\n  pcVar14->precision_start = (char *)0x0;\n  pcVar14->precision_end = (char *)0x0;\n  pcVar14->precision_arg_index = 0xffffffffffffffff;\n  pcVar14->arg_index = 0xffffffffffffffff;\n  bVar5 = pbVar7[1];\n  sVar16 = 0xffffffffffffffff;\n  pbVar7 = (byte *)format;\n  if ((byte)(bVar5 - 0x30) < 10) {\n    do {\n      bVar3 = pbVar7[1];\n      pbVar7 = pbVar7 + 1;\n    } while ((byte)(bVar3 - 0x30) < 10);\n    sVar16 = 0xffffffffffffffff;\n    if (bVar3 == 0x24) {\n      uVar17 = 0;\n      do {\n        uVar12 = local_50;\n        if (uVar17 < 0x199999999999999a) {\n          uVar12 = uVar17 * 10;\n        }\n        uVar17 = (long)((char)bVar5 + -0x30) + uVar12;\n        if (CARRY8((long)((char)bVar5 + -0x30),uVar12)) {\n          bVar5 = ((byte *)format)[1];\n          uVar17 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = ((byte *)format)[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00110dec;\n        }\n        format = (char *)((byte *)format + 1);\n      } while( true );\n    }\n  }\n  goto LAB_00110e08;\nLAB_00110dec:\n  sVar16 = uVar17 - 1;\n  if (sVar16 < 0xfffffffffffffffe) {\n    format = (char *)((byte *)format + 2);\nLAB_00110e08:\n    do {\n      bVar5 = *format;\n      if (bVar5 == 0x27) {\n        pcVar14->flags = pcVar14->flags | 1;\n      }\n      else if (bVar5 == 0x2d) {\n        pcVar14->flags = pcVar14->flags | 2;\n      }\n      else if (bVar5 == 0x2b) {\n        pcVar14->flags = pcVar14->flags | 4;\n      }\n      else if (bVar5 == 0x20) {\n        pcVar14->flags = pcVar14->flags | 8;\n      }\n      else if (bVar5 == 0x23) {\n        pcVar14->flags = pcVar14->flags | 0x10;\n      }\n      else if (bVar5 == 0x30) {\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }\n      else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }\n      format = (char *)((byte *)format + 1);\n    } while( true );\n  }\n  goto switchD_001113be_caseD_26;\nLAB_00110e55:\n  if (bVar5 == 0x2a) {\n    pcVar14->width_start = format;\n    pbVar7 = (byte *)format + 1;\n    pcVar14->width_end = (char *)pbVar7;\n    uVar17 = 1;\n    if (local_88 != 0) {\n      uVar17 = local_88;\n    }\n    bVar5 = ((byte *)format)[1];\n    pbVar8 = pbVar7;\n    if ((byte)(bVar5 - 0x30) < 10) {\n      do {\n        bVar3 = pbVar8[1];\n        pbVar8 = pbVar8 + 1;\n      } while ((byte)(bVar3 - 0x30) < 10);\n      if (bVar3 == 0x24) {\n        uVar12 = 0;\n        do {\n          uVar10 = local_50;\n          if (uVar12 < 0x199999999999999a) {\n            uVar10 = uVar12 * 10;\n          }\n          uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n          if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n            bVar5 = pbVar7[1];\n            uVar12 = local_50;\n            if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar5 = pbVar7[1];\n            if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111003;\n          }\n          pbVar7 = pbVar7 + 1;\n        } while( true );\n      }\n    }\n    if (pcVar14->width_arg_index == 0xffffffffffffffff) {\n      pcVar14->width_arg_index = local_60;\n      bVar18 = local_60 == 0xffffffffffffffff;\n      local_60 = local_60 + 1;\n      if (bVar18) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }\n  pbVar7 = (byte *)format;\n  uVar17 = local_88;\n  if ((byte)(bVar5 - 0x30) < 10) {\n    pcVar14->width_start = format;\n    bVar5 = *format;\n    while ((byte)(bVar5 - 0x30) < 10) {\n      pbVar7 = pbVar7 + 1;\n      bVar5 = *pbVar7;\n    }\n    pcVar14->width_end = (char *)pbVar7;\n    uVar17 = (long)pbVar7 - (long)format;\n    if ((ulong)((long)pbVar7 - (long)format) <= local_88) {\n      uVar17 = local_88;\n    }\n  }\nLAB_00110e66:\n  local_88 = uVar17;\n  pbVar8 = pbVar7;\n  uVar17 = local_70;\n  if (*pbVar7 != 0x2e) goto LAB_00110e6f;\n  if (pbVar7[1] != 0x2a) {\n    pbVar8 = pbVar7 + 1;\n    pcVar14->precision_start = (char *)pbVar7;\n    bVar5 = pbVar7[1];\n    while ((byte)(bVar5 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar5 = *pbVar8;\n    }\n    pcVar14->precision_end = (char *)pbVar8;\n    uVar17 = (long)pbVar8 - (long)pbVar7;\n    if ((ulong)((long)pbVar8 - (long)pbVar7) <= local_70) {\n      uVar17 = local_70;\n    }\n    goto LAB_00110e6f;\n  }\n  pcVar14->precision_start = (char *)pbVar7;\n  pbVar8 = pbVar7 + 2;\n  pcVar14->precision_end = (char *)pbVar8;\n  uVar17 = 2;\n  if (1 < local_70) {\n    uVar17 = local_70;\n  }\n  bVar5 = pbVar7[2];\n  pbVar11 = pbVar8;\n  if ((byte)(bVar5 - 0x30) < 10) {\n    do {\n      bVar3 = pbVar11[1];\n      pbVar11 = pbVar11 + 1;\n    } while ((byte)(bVar3 - 0x30) < 10);\n    if (bVar3 == 0x24) {\n      pbVar7 = pbVar7 + 2;\n      uVar12 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar12 < 0x199999999999999a) {\n          uVar10 = uVar12 * 10;\n        }\n        uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n          bVar5 = pbVar7[1];\n          uVar12 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = pbVar7[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111244;\n        }\n        pbVar7 = pbVar7 + 1;\n      } while( true );\n    }\n  }\n  if (pcVar14->precision_arg_index == 0xffffffffffffffff) {\n    pcVar14->precision_arg_index = local_60;\n    bVar18 = local_60 == 0xffffffffffffffff;\n    local_60 = local_60 + 1;\n    if (bVar18) goto switchD_001113be_caseD_26;\n  }\n  goto LAB_0011110c;\nLAB_00111003:\n  uVar12 = uVar12 - 1;\n  if (0xfffffffffffffffd < uVar12) goto switchD_001113be_caseD_26;\n  pcVar14->width_arg_index = uVar12;\n  pbVar7 = pbVar7 + 2;\nLAB_00110ebb:\n  uVar12 = pcVar14->width_arg_index;\n  if (uVar12 < local_90) {\nLAB_00110f4e:\n    uVar10 = a->count;\n    while (uVar10 <= uVar12) {\n      a->count = uVar10 + 1;\n      a->arg[uVar10].type = TYPE_NONE;\n      uVar10 = a->count;\n    }\n    aVar6 = a->arg[uVar12].type;\n    if (aVar6 == TYPE_NONE) {\n      a->arg[uVar12].type = TYPE_INT;\n    }\n    else if (aVar6 != TYPE_INT) goto switchD_001113be_caseD_26;\n    goto LAB_00110e66;\n  }\n  if ((-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))\n      && (local_90 < 0x800000000000000)))) {\n    if (paVar2 == a->arg) {\n      local_78 = (argument *)malloc(local_90 << 5);\n    }\n    else {\n      local_78 = (argument *)realloc(a->arg,local_90 << 5);\n    }\n    if (local_78 != (argument *)0x0) {\n      if (paVar2 == a->arg) {\n        memcpy(local_78,a->arg,a->count << 5);\n      }\n      a->arg = local_78;\n      goto LAB_00110f4e;\n    }\n  }\n  goto LAB_00111292;\nLAB_0011139e:\n  format = (char *)(pbVar8 + 1);\n  switch(bVar5) {\n  case 0x25:\n    goto switchD_001113be_caseD_25;\n  default:\n    goto switchD_001113be_caseD_26;\n  case 0x41:\n  case 0x45:\n  case 0x46:\n  case 0x47:\n  case 0x61:\n  case 0x65:\n  case 0x66:\n  case 0x67:\n    aVar6 = TYPE_LONGDOUBLE;\n    if ((int)uVar13 < 0x10) {\n      aVar6 = ((uVar13 & 4) != 0) + TYPE_DOUBLE;\n    }\n    break;\n  case 0x43:\n    aVar6 = TYPE_WIDE_CHAR;\n    bVar5 = 99;\n    break;\n  case 0x53:\n    aVar6 = TYPE_WIDE_STRING;\n    bVar5 = 0x73;\n    break;\n  case 0x58:\n  case 0x6f:\n  case 0x75:\n  case 0x78:\n    aVar6 = TYPE_ULONGLONGINT;\n    if ((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&\n       ((aVar6 = TYPE_ULONGINT, (int)uVar13 < 8 && (aVar6 = TYPE_UCHAR, (uVar13 & 2) == 0)))) {\n      aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_USHORT;\n    }\n    break;\n  case 99:\n    aVar6 = (7 < (int)uVar13) + TYPE_CHAR;\n    break;\n  case 100:\n  case 0x69:\n    aVar6 = TYPE_LONGLONGINT;\n    if (((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) && (aVar6 = TYPE_LONGINT, (int)uVar13 < 8))\n       && (aVar6 = TYPE_SCHAR, (uVar13 & 2) == 0)) {\n      aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_SHORT;\n    }\n    break;\n  case 0x6e:\n    aVar6 = TYPE_COUNT_LONGLONGINT_POINTER;\n    if ((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&\n       ((aVar6 = TYPE_COUNT_LONGINT_POINTER, (int)uVar13 < 8 &&\n        (aVar6 = TYPE_COUNT_SCHAR_POINTER, (uVar13 & 2) == 0)))) {\n      aVar6 = (uVar13 & 1 ^ 1) + TYPE_COUNT_SHORT_POINTER;\n    }\n    break;\n  case 0x70:\n    aVar6 = TYPE_POINTER;\n    break;\n  case 0x73:\n    aVar6 = (7 < (int)uVar13) + TYPE_STRING;\n  }\n  if (sVar16 == 0xffffffffffffffff) {\n    pcVar14->arg_index = local_60;\n    bVar18 = local_60 == 0xffffffffffffffff;\n    local_60 = local_60 + 1;\n    if (bVar18) goto switchD_001113be_caseD_26;\n  }\n  else {\n    pcVar14->arg_index = sVar16;\n  }\n  uVar17 = pcVar14->arg_index;\n  if (uVar17 < local_90) {\nLAB_001115b1:\n    uVar12 = a->count;\n    while (uVar12 <= uVar17) {\n      a->count = uVar12 + 1;\n      a->arg[uVar12].type = TYPE_NONE;\n      uVar12 = a->count;\n    }\n    aVar4 = a->arg[uVar17].type;\n    if (aVar4 == TYPE_NONE) {\n      a->arg[uVar17].type = aVar6;\n    }\n    else if (aVar4 != aVar6) goto switchD_001113be_caseD_26;\nswitchD_001113be_caseD_25:\n    pcVar14->conversion = bVar5;\n    pcVar14->dir_end = format;\n    uVar17 = d->count + 1;\n    d->count = uVar17;\n    if (uVar17 < local_68) goto LAB_00110cf5;\n    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;\n    pcVar14 = d->dir;\n    if (pcVar1 != pcVar14) {\n      __dest = (char_directive *)realloc(pcVar14,local_68 * 0xb0);\n      if (__dest == (char_directive *)0x0) goto LAB_00111292;\n      pcVar14 = d->dir;\n      if (pcVar1 != pcVar14) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,pcVar14,d->count * 0x58);\nLAB_0011166e:\n      d->dir = __dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }\n    __dest = (char_directive *)malloc(local_68 * 0xb0);\n    if (__dest != (char_directive *)0x0) goto LAB_00111732;\n    paVar15 = a->arg;\n    if (paVar2 == paVar15) goto LAB_001112b2;\n    goto LAB_0011129d;\n  }\n  if ((((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar17 && (local_90 = uVar17 + 1, local_90 < uVar17))))\n     || (0x7ffffffffffffff < local_90)) goto LAB_00111292;\n  local_48 = a->arg;\n  if (paVar2 != local_48) {\n    local_40 = (argument *)realloc(local_48,local_90 << 5);\n    if (local_40 != (argument *)0x0) {\n      local_48 = a->arg;\n      if (paVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }\n    goto LAB_00111292;\n  }\n  local_40 = (argument *)malloc(local_90 << 5);\n  if (local_40 != (argument *)0x0) {\nLAB_001116c7:\n    memcpy(local_40,local_48,a->count << 5);\nLAB_001115a8:\n    a->arg = local_40;\n    goto LAB_001115b1;\n  }\n  goto LAB_001112a2;\nLAB_00111244:\n  uVar12 = uVar12 - 1;\n  if (0xfffffffffffffffd < uVar12) goto switchD_001113be_caseD_26;\n  pcVar14->precision_arg_index = uVar12;\n  pbVar8 = pbVar7 + 2;\nLAB_0011110c:\n  uVar12 = pcVar14->precision_arg_index;\n  if (uVar12 < local_90) {\nLAB_0011118d:\n    uVar10 = a->count;\n    while (uVar10 <= uVar12) {\n      a->count = uVar10 + 1;\n      a->arg[uVar10].type = TYPE_NONE;\n      uVar10 = a->count;\n    }\n    aVar6 = a->arg[uVar12].type;\n    if (aVar6 == TYPE_NONE) {\n      a->arg[uVar12].type = TYPE_INT;\n    }\n    else if (aVar6 != TYPE_INT) {\nswitchD_001113be_caseD_26:\n      if (paVar2 != a->arg) {\n        free(a->arg);\n      }\n      if (pcVar1 != d->dir) {\n        free(d->dir);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return L'\xffffffff';\n    }\nLAB_00110e6f:\n    local_70 = uVar17;\n    uVar13 = 0;\n    do {\n      bVar5 = *pbVar8;\n      if (bVar5 == 0x68) {\n        uVar13 = uVar13 | 1 << ((byte)uVar13 & 1);\n      }\n      else if (bVar5 == 0x4c) {\n        uVar13 = uVar13 | 4;\n      }\n      else if (bVar5 == 0x6c) {\n        uVar13 = uVar13 + 8;\n      }\n      else if (bVar5 == 0x6a) {\n        uVar13 = uVar13 + 8;\n      }\n      else if ((bVar5 & 0xdf) == 0x5a) {\n        uVar13 = uVar13 + 8;\n      }\n      else {\n        if (bVar5 != 0x74) goto LAB_0011139e;\n        uVar13 = uVar13 + 8;\n      }\n      pbVar8 = pbVar8 + 1;\n    } while( true );\n  }\n  if (((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))))\n     && (local_90 < 0x800000000000000)) {\n    if (paVar2 == a->arg) {\n      local_78 = (argument *)malloc(local_90 << 5);\n      if (local_78 != (argument *)0x0) {\n        paVar15 = a->arg;\nLAB_001112dd:\n        memcpy(local_78,paVar15,a->count << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = (argument *)realloc(a->arg,local_90 << 5);\n      if (local_78 != (argument *)0x0) {\n        paVar15 = a->arg;\n        if (paVar2 == paVar15) goto LAB_001112dd;\nLAB_00111184:\n        a->arg = local_78;\n        goto LAB_0011118d;\n      }\n    }\n  }\nLAB_00111292:\n  paVar15 = a->arg;\n  if (paVar2 != paVar15) {\nLAB_0011129d:\n    free(paVar15);\n  }\nLAB_001112a2:\n  if (pcVar1 != d->dir) {\n    free(d->dir);\n  }\nLAB_001112b2:\n  piVar9 = __errno_location();\n  *piVar9 = 0xc;\n  return L'\xffffffff';\n}" { (declaration "char_directive *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "argument *paVar2;" type_identifier (pointer_declarator "*paVar2" * identifier) ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "arg_type aVar4;" type_identifier identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "arg_type aVar6;" type_identifier identifier ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "char_directive *__dest;" type_identifier (pointer_declarator "*__dest" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "char_directive *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "argument *paVar15;" type_identifier (pointer_declarator "*paVar15" * identifier) ;) (declaration "size_t sVar16;" primitive_type identifier ;) (declaration "ulong uVar17;" type_identifier identifier ;) (declaration "bool bVar18;" primitive_type identifier ;) (declaration "ulong local_90;" type_identifier identifier ;) (declaration "ulong local_88;" type_identifier identifier ;) (declaration "argument *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "ulong local_70;" type_identifier identifier ;) (declaration "ulong local_68;" type_identifier identifier ;) (declaration "size_t local_60;" primitive_type identifier ;) (declaration "ulong local_50;" type_identifier identifier ;) (declaration "argument *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "argument *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (expression_statement "d->count = 0;" (assignment_expression "d->count = 0" (field_expression "d->count" identifier -> field_identifier) = number_literal) ;) (expression_statement "pcVar1 = d->direct_alloc_dir;" (assignment_expression "pcVar1 = d->direct_alloc_dir" identifier = (field_expression "d->direct_alloc_dir" identifier -> field_identifier)) ;) (expression_statement "d->dir = pcVar1;" (assignment_expression "d->dir = pcVar1" (field_expression "d->dir" identifier -> field_identifier) = identifier) ;) (expression_statement "a->count = 0;" (assignment_expression "a->count = 0" (field_expression "a->count" identifier -> field_identifier) = number_literal) ;) (expression_statement "paVar2 = a->direct_alloc_arg;" (assignment_expression "paVar2 = a->direct_alloc_arg" identifier = (field_expression "a->direct_alloc_arg" identifier -> field_identifier)) ;) (expression_statement "a->arg = paVar2;" (assignment_expression "a->arg = paVar2" (field_expression "a->arg" identifier -> field_identifier) = identifier) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 7;" (assignment_expression "local_90 = 7" identifier = number_literal) ;) (expression_statement "local_68 = 7;" (assignment_expression "local_68 = 7" identifier = number_literal) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0xffffffffffffffff;" (assignment_expression "local_50 = 0xffffffffffffffff" identifier = number_literal) ;) (labeled_statement "LAB_00110cf5:\n  do {\n    pbVar7 = (byte *)format;\n    if (*pbVar7 == 0) {\n      d->dir[d->count].dir_start = (char *)pbVar7;\n      d->max_width_length = local_88;\n      d->max_precision_length = local_70;\n      return L'\0';\n    }\n    format = (char *)(pbVar7 + 1);\n  } while (*pbVar7 != 0x25);" statement_identifier : (do_statement "do {\n    pbVar7 = (byte *)format;\n    if (*pbVar7 == 0) {\n      d->dir[d->count].dir_start = (char *)pbVar7;\n      d->max_width_length = local_88;\n      d->max_precision_length = local_70;\n      return L'\0';\n    }\n    format = (char *)(pbVar7 + 1);\n  } while (*pbVar7 != 0x25);" do (compound_statement "{\n    pbVar7 = (byte *)format;\n    if (*pbVar7 == 0) {\n      d->dir[d->count].dir_start = (char *)pbVar7;\n      d->max_width_length = local_88;\n      d->max_precision_length = local_70;\n      return L'\0';\n    }\n    format = (char *)(pbVar7 + 1);\n  }" { (expression_statement "pbVar7 = (byte *)format;" (assignment_expression "pbVar7 = (byte *)format" identifier = (cast_expression "(byte *)format" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*pbVar7 == 0) {\n      d->dir[d->count].dir_start = (char *)pbVar7;\n      d->max_width_length = local_88;\n      d->max_precision_length = local_70;\n      return L'\0';\n    }" if (parenthesized_expression "(*pbVar7 == 0)" ( (binary_expression "*pbVar7 == 0" (pointer_expression "*pbVar7" * identifier) == number_literal) )) (compound_statement "{\n      d->dir[d->count].dir_start = (char *)pbVar7;\n      d->max_width_length = local_88;\n      d->max_precision_length = local_70;\n      return L'\0';\n    }" { (expression_statement "d->dir[d->count].dir_start = (char *)pbVar7;" (assignment_expression "d->dir[d->count].dir_start = (char *)pbVar7" (field_expression "d->dir[d->count].dir_start" (subscript_expression "d->dir[d->count]" (field_expression "d->dir" identifier -> field_identifier) [ (field_expression "d->count" identifier -> field_identifier) ]) . field_identifier) = (cast_expression "(char *)pbVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "d->max_width_length = local_88;" (assignment_expression "d->max_width_length = local_88" (field_expression "d->max_width_length" identifier -> field_identifier) = identifier) ;) (expression_statement "d->max_precision_length = local_70;" (assignment_expression "d->max_precision_length = local_70" (field_expression "d->max_precision_length" identifier -> field_identifier) = identifier) ;) (return_statement "return L'\0';" return (char_literal "L'\0'" L' escape_sequence ') ;) })) (expression_statement "format = (char *)(pbVar7 + 1);" (assignment_expression "format = (char *)(pbVar7 + 1)" identifier = (cast_expression "(char *)(pbVar7 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar7 + 1)" ( (binary_expression "pbVar7 + 1" identifier + number_literal) )))) ;) }) while (parenthesized_expression "(*pbVar7 != 0x25)" ( (binary_expression "*pbVar7 != 0x25" (pointer_expression "*pbVar7" * identifier) != number_literal) )) ;)) (expression_statement "pcVar14 = d->dir + d->count;" (assignment_expression "pcVar14 = d->dir + d->count" identifier = (binary_expression "d->dir + d->count" (field_expression "d->dir" identifier -> field_identifier) + (field_expression "d->count" identifier -> field_identifier))) ;) (expression_statement "pcVar14->dir_start = (char *)pbVar7;" (assignment_expression "pcVar14->dir_start = (char *)pbVar7" (field_expression "pcVar14->dir_start" identifier -> field_identifier) = (cast_expression "(char *)pbVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar14->flags = L'\0';" (assignment_expression "pcVar14->flags = L'\0'" (field_expression "pcVar14->flags" identifier -> field_identifier) = (char_literal "L'\0'" L' escape_sequence ')) ;) (expression_statement "pcVar14->width_start = (char *)0x0;" (assignment_expression "pcVar14->width_start = (char *)0x0" (field_expression "pcVar14->width_start" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar14->width_end = (char *)0x0;" (assignment_expression "pcVar14->width_end = (char *)0x0" (field_expression "pcVar14->width_end" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar14->width_arg_index = 0xffffffffffffffff;" (assignment_expression "pcVar14->width_arg_index = 0xffffffffffffffff" (field_expression "pcVar14->width_arg_index" identifier -> field_identifier) = number_literal) ;) (expression_statement "pcVar14->precision_start = (char *)0x0;" (assignment_expression "pcVar14->precision_start = (char *)0x0" (field_expression "pcVar14->precision_start" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar14->precision_end = (char *)0x0;" (assignment_expression "pcVar14->precision_end = (char *)0x0" (field_expression "pcVar14->precision_end" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar14->precision_arg_index = 0xffffffffffffffff;" (assignment_expression "pcVar14->precision_arg_index = 0xffffffffffffffff" (field_expression "pcVar14->precision_arg_index" identifier -> field_identifier) = number_literal) ;) (expression_statement "pcVar14->arg_index = 0xffffffffffffffff;" (assignment_expression "pcVar14->arg_index = 0xffffffffffffffff" (field_expression "pcVar14->arg_index" identifier -> field_identifier) = number_literal) ;) (expression_statement "bVar5 = pbVar7[1];" (assignment_expression "bVar5 = pbVar7[1]" identifier = (subscript_expression "pbVar7[1]" identifier [ number_literal ])) ;) (expression_statement "sVar16 = 0xffffffffffffffff;" (assignment_expression "sVar16 = 0xffffffffffffffff" identifier = number_literal) ;) (expression_statement "pbVar7 = (byte *)format;" (assignment_expression "pbVar7 = (byte *)format" identifier = (cast_expression "(byte *)format" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((byte)(bVar5 - 0x30) < 10) {\n    do {\n      bVar3 = pbVar7[1];\n      pbVar7 = pbVar7 + 1;\n    } while ((byte)(bVar3 - 0x30) < 10);\n    sVar16 = 0xffffffffffffffff;\n    if (bVar3 == 0x24) {\n      uVar17 = 0;\n      do {\n        uVar12 = local_50;\n        if (uVar17 < 0x199999999999999a) {\n          uVar12 = uVar17 * 10;\n        }\n        uVar17 = (long)((char)bVar5 + -0x30) + uVar12;\n        if (CARRY8((long)((char)bVar5 + -0x30),uVar12)) {\n          bVar5 = ((byte *)format)[1];\n          uVar17 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = ((byte *)format)[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00110dec;\n        }\n        format = (char *)((byte *)format + 1);\n      } while( true );\n    }\n  }" if (parenthesized_expression "((byte)(bVar5 - 0x30) < 10)" ( (binary_expression "(byte)(bVar5 - 0x30) < 10" (call_expression "(byte)(bVar5 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar5 - 0x30)" ( (binary_expression "bVar5 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n    do {\n      bVar3 = pbVar7[1];\n      pbVar7 = pbVar7 + 1;\n    } while ((byte)(bVar3 - 0x30) < 10);\n    sVar16 = 0xffffffffffffffff;\n    if (bVar3 == 0x24) {\n      uVar17 = 0;\n      do {\n        uVar12 = local_50;\n        if (uVar17 < 0x199999999999999a) {\n          uVar12 = uVar17 * 10;\n        }\n        uVar17 = (long)((char)bVar5 + -0x30) + uVar12;\n        if (CARRY8((long)((char)bVar5 + -0x30),uVar12)) {\n          bVar5 = ((byte *)format)[1];\n          uVar17 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = ((byte *)format)[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00110dec;\n        }\n        format = (char *)((byte *)format + 1);\n      } while( true );\n    }\n  }" { (do_statement "do {\n      bVar3 = pbVar7[1];\n      pbVar7 = pbVar7 + 1;\n    } while ((byte)(bVar3 - 0x30) < 10);" do (compound_statement "{\n      bVar3 = pbVar7[1];\n      pbVar7 = pbVar7 + 1;\n    }" { (expression_statement "bVar3 = pbVar7[1];" (assignment_expression "bVar3 = pbVar7[1]" identifier = (subscript_expression "pbVar7[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((byte)(bVar3 - 0x30) < 10)" ( (binary_expression "(byte)(bVar3 - 0x30) < 10" (call_expression "(byte)(bVar3 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x30)" ( (binary_expression "bVar3 - 0x30" identifier - number_literal) ))) < number_literal) )) ;) (expression_statement "sVar16 = 0xffffffffffffffff;" (assignment_expression "sVar16 = 0xffffffffffffffff" identifier = number_literal) ;) (if_statement "if (bVar3 == 0x24) {\n      uVar17 = 0;\n      do {\n        uVar12 = local_50;\n        if (uVar17 < 0x199999999999999a) {\n          uVar12 = uVar17 * 10;\n        }\n        uVar17 = (long)((char)bVar5 + -0x30) + uVar12;\n        if (CARRY8((long)((char)bVar5 + -0x30),uVar12)) {\n          bVar5 = ((byte *)format)[1];\n          uVar17 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = ((byte *)format)[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00110dec;\n        }\n        format = (char *)((byte *)format + 1);\n      } while( true );\n    }" if (parenthesized_expression "(bVar3 == 0x24)" ( (binary_expression "bVar3 == 0x24" identifier == number_literal) )) (compound_statement "{\n      uVar17 = 0;\n      do {\n        uVar12 = local_50;\n        if (uVar17 < 0x199999999999999a) {\n          uVar12 = uVar17 * 10;\n        }\n        uVar17 = (long)((char)bVar5 + -0x30) + uVar12;\n        if (CARRY8((long)((char)bVar5 + -0x30),uVar12)) {\n          bVar5 = ((byte *)format)[1];\n          uVar17 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = ((byte *)format)[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00110dec;\n        }\n        format = (char *)((byte *)format + 1);\n      } while( true );\n    }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar12 = local_50;\n        if (uVar17 < 0x199999999999999a) {\n          uVar12 = uVar17 * 10;\n        }\n        uVar17 = (long)((char)bVar5 + -0x30) + uVar12;\n        if (CARRY8((long)((char)bVar5 + -0x30),uVar12)) {\n          bVar5 = ((byte *)format)[1];\n          uVar17 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = ((byte *)format)[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00110dec;\n        }\n        format = (char *)((byte *)format + 1);\n      } while( true );" do (compound_statement "{\n        uVar12 = local_50;\n        if (uVar17 < 0x199999999999999a) {\n          uVar12 = uVar17 * 10;\n        }\n        uVar17 = (long)((char)bVar5 + -0x30) + uVar12;\n        if (CARRY8((long)((char)bVar5 + -0x30),uVar12)) {\n          bVar5 = ((byte *)format)[1];\n          uVar17 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = ((byte *)format)[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00110dec;\n        }\n        format = (char *)((byte *)format + 1);\n      }" { (expression_statement "uVar12 = local_50;" (assignment_expression "uVar12 = local_50" identifier = identifier) ;) (if_statement "if (uVar17 < 0x199999999999999a) {\n          uVar12 = uVar17 * 10;\n        }" if (parenthesized_expression "(uVar17 < 0x199999999999999a)" ( (binary_expression "uVar17 < 0x199999999999999a" identifier < number_literal) )) (compound_statement "{\n          uVar12 = uVar17 * 10;\n        }" { (expression_statement "uVar12 = uVar17 * 10;" (assignment_expression "uVar12 = uVar17 * 10" identifier = (binary_expression "uVar17 * 10" identifier * number_literal)) ;) })) (expression_statement "uVar17 = (long)((char)bVar5 + -0x30) + uVar12;" (assignment_expression "uVar17 = (long)((char)bVar5 + -0x30) + uVar12" identifier = (binary_expression "(long)((char)bVar5 + -0x30) + uVar12" (cast_expression "(long)((char)bVar5 + -0x30)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((char)bVar5 + -0x30)" ( (binary_expression "(char)bVar5 + -0x30" (cast_expression "(char)bVar5" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ))) + identifier)) ;) (if_statement "if (CARRY8((long)((char)bVar5 + -0x30),uVar12)) {\n          bVar5 = ((byte *)format)[1];\n          uVar17 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = ((byte *)format)[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00110dec;\n        }" if (parenthesized_expression "(CARRY8((long)((char)bVar5 + -0x30),uVar12))" ( (call_expression "CARRY8((long)((char)bVar5 + -0x30),uVar12)" identifier (argument_list "((long)((char)bVar5 + -0x30),uVar12)" ( (cast_expression "(long)((char)bVar5 + -0x30)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((char)bVar5 + -0x30)" ( (binary_expression "(char)bVar5 + -0x30" (cast_expression "(char)bVar5" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ))) , identifier ))) )) (compound_statement "{\n          bVar5 = ((byte *)format)[1];\n          uVar17 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }" { (expression_statement "bVar5 = ((byte *)format)[1];" (assignment_expression "bVar5 = ((byte *)format)[1]" identifier = (subscript_expression "((byte *)format)[1]" (parenthesized_expression "((byte *)format)" ( (cast_expression "(byte *)format" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "uVar17 = local_50;" (assignment_expression "uVar17 = local_50" identifier = identifier) ;) (if_statement "if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(9 < (byte)(bVar5 - 0x30))" ( (binary_expression "9 < (byte)(bVar5 - 0x30)" number_literal < (call_expression "(byte)(bVar5 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar5 - 0x30)" ( (binary_expression "bVar5 - 0x30" identifier - number_literal) )))) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) }) (else_clause "else {\n          bVar5 = ((byte *)format)[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00110dec;\n        }" else (compound_statement "{\n          bVar5 = ((byte *)format)[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00110dec;\n        }" { (expression_statement "bVar5 = ((byte *)format)[1];" (assignment_expression "bVar5 = ((byte *)format)[1]" identifier = (subscript_expression "((byte *)format)[1]" (parenthesized_expression "((byte *)format)" ( (cast_expression "(byte *)format" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (if_statement "if (9 < (byte)(bVar5 - 0x30)) goto LAB_00110dec;" if (parenthesized_expression "(9 < (byte)(bVar5 - 0x30))" ( (binary_expression "9 < (byte)(bVar5 - 0x30)" number_literal < (call_expression "(byte)(bVar5 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar5 - 0x30)" ( (binary_expression "bVar5 - 0x30" identifier - number_literal) )))) )) (goto_statement "goto LAB_00110dec;" goto statement_identifier ;)) }))) (expression_statement "format = (char *)((byte *)format + 1);" (assignment_expression "format = (char *)((byte *)format + 1)" identifier = (cast_expression "(char *)((byte *)format + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)format + 1)" ( (binary_expression "(byte *)format + 1" (cast_expression "(byte *)format" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (goto_statement "goto LAB_00110e08;" goto statement_identifier ;) (labeled_statement "LAB_00110dec:\n  sVar16 = uVar17 - 1;" statement_identifier : (expression_statement "sVar16 = uVar17 - 1;" (assignment_expression "sVar16 = uVar17 - 1" identifier = (binary_expression "uVar17 - 1" identifier - number_literal)) ;)) (if_statement "if (sVar16 < 0xfffffffffffffffe) {\n    format = (char *)((byte *)format + 2);\nLAB_00110e08:\n    do {\n      bVar5 = *format;\n      if (bVar5 == 0x27) {\n        pcVar14->flags = pcVar14->flags | 1;\n      }\n      else if (bVar5 == 0x2d) {\n        pcVar14->flags = pcVar14->flags | 2;\n      }\n      else if (bVar5 == 0x2b) {\n        pcVar14->flags = pcVar14->flags | 4;\n      }\n      else if (bVar5 == 0x20) {\n        pcVar14->flags = pcVar14->flags | 8;\n      }\n      else if (bVar5 == 0x23) {\n        pcVar14->flags = pcVar14->flags | 0x10;\n      }\n      else if (bVar5 == 0x30) {\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }\n      else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }\n      format = (char *)((byte *)format + 1);\n    } while( true );\n  }" if (parenthesized_expression "(sVar16 < 0xfffffffffffffffe)" ( (binary_expression "sVar16 < 0xfffffffffffffffe" identifier < number_literal) )) (compound_statement "{\n    format = (char *)((byte *)format + 2);\nLAB_00110e08:\n    do {\n      bVar5 = *format;\n      if (bVar5 == 0x27) {\n        pcVar14->flags = pcVar14->flags | 1;\n      }\n      else if (bVar5 == 0x2d) {\n        pcVar14->flags = pcVar14->flags | 2;\n      }\n      else if (bVar5 == 0x2b) {\n        pcVar14->flags = pcVar14->flags | 4;\n      }\n      else if (bVar5 == 0x20) {\n        pcVar14->flags = pcVar14->flags | 8;\n      }\n      else if (bVar5 == 0x23) {\n        pcVar14->flags = pcVar14->flags | 0x10;\n      }\n      else if (bVar5 == 0x30) {\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }\n      else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }\n      format = (char *)((byte *)format + 1);\n    } while( true );\n  }" { (expression_statement "format = (char *)((byte *)format + 2);" (assignment_expression "format = (char *)((byte *)format + 2)" identifier = (cast_expression "(char *)((byte *)format + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)format + 2)" ( (binary_expression "(byte *)format + 2" (cast_expression "(byte *)format" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_00110e08:\n    do {\n      bVar5 = *format;\n      if (bVar5 == 0x27) {\n        pcVar14->flags = pcVar14->flags | 1;\n      }\n      else if (bVar5 == 0x2d) {\n        pcVar14->flags = pcVar14->flags | 2;\n      }\n      else if (bVar5 == 0x2b) {\n        pcVar14->flags = pcVar14->flags | 4;\n      }\n      else if (bVar5 == 0x20) {\n        pcVar14->flags = pcVar14->flags | 8;\n      }\n      else if (bVar5 == 0x23) {\n        pcVar14->flags = pcVar14->flags | 0x10;\n      }\n      else if (bVar5 == 0x30) {\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }\n      else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }\n      format = (char *)((byte *)format + 1);\n    } while( true );" statement_identifier : (do_statement "do {\n      bVar5 = *format;\n      if (bVar5 == 0x27) {\n        pcVar14->flags = pcVar14->flags | 1;\n      }\n      else if (bVar5 == 0x2d) {\n        pcVar14->flags = pcVar14->flags | 2;\n      }\n      else if (bVar5 == 0x2b) {\n        pcVar14->flags = pcVar14->flags | 4;\n      }\n      else if (bVar5 == 0x20) {\n        pcVar14->flags = pcVar14->flags | 8;\n      }\n      else if (bVar5 == 0x23) {\n        pcVar14->flags = pcVar14->flags | 0x10;\n      }\n      else if (bVar5 == 0x30) {\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }\n      else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }\n      format = (char *)((byte *)format + 1);\n    } while( true );" do (compound_statement "{\n      bVar5 = *format;\n      if (bVar5 == 0x27) {\n        pcVar14->flags = pcVar14->flags | 1;\n      }\n      else if (bVar5 == 0x2d) {\n        pcVar14->flags = pcVar14->flags | 2;\n      }\n      else if (bVar5 == 0x2b) {\n        pcVar14->flags = pcVar14->flags | 4;\n      }\n      else if (bVar5 == 0x20) {\n        pcVar14->flags = pcVar14->flags | 8;\n      }\n      else if (bVar5 == 0x23) {\n        pcVar14->flags = pcVar14->flags | 0x10;\n      }\n      else if (bVar5 == 0x30) {\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }\n      else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }\n      format = (char *)((byte *)format + 1);\n    }" { (expression_statement "bVar5 = *format;" (assignment_expression "bVar5 = *format" identifier = (pointer_expression "*format" * identifier)) ;) (if_statement "if (bVar5 == 0x27) {\n        pcVar14->flags = pcVar14->flags | 1;\n      }\n      else if (bVar5 == 0x2d) {\n        pcVar14->flags = pcVar14->flags | 2;\n      }\n      else if (bVar5 == 0x2b) {\n        pcVar14->flags = pcVar14->flags | 4;\n      }\n      else if (bVar5 == 0x20) {\n        pcVar14->flags = pcVar14->flags | 8;\n      }\n      else if (bVar5 == 0x23) {\n        pcVar14->flags = pcVar14->flags | 0x10;\n      }\n      else if (bVar5 == 0x30) {\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }\n      else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }" if (parenthesized_expression "(bVar5 == 0x27)" ( (binary_expression "bVar5 == 0x27" identifier == number_literal) )) (compound_statement "{\n        pcVar14->flags = pcVar14->flags | 1;\n      }" { (expression_statement "pcVar14->flags = pcVar14->flags | 1;" (assignment_expression "pcVar14->flags = pcVar14->flags | 1" (field_expression "pcVar14->flags" identifier -> field_identifier) = (binary_expression "pcVar14->flags | 1" (field_expression "pcVar14->flags" identifier -> field_identifier) | number_literal)) ;) }) (else_clause "else if (bVar5 == 0x2d) {\n        pcVar14->flags = pcVar14->flags | 2;\n      }\n      else if (bVar5 == 0x2b) {\n        pcVar14->flags = pcVar14->flags | 4;\n      }\n      else if (bVar5 == 0x20) {\n        pcVar14->flags = pcVar14->flags | 8;\n      }\n      else if (bVar5 == 0x23) {\n        pcVar14->flags = pcVar14->flags | 0x10;\n      }\n      else if (bVar5 == 0x30) {\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }\n      else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }" else (if_statement "if (bVar5 == 0x2d) {\n        pcVar14->flags = pcVar14->flags | 2;\n      }\n      else if (bVar5 == 0x2b) {\n        pcVar14->flags = pcVar14->flags | 4;\n      }\n      else if (bVar5 == 0x20) {\n        pcVar14->flags = pcVar14->flags | 8;\n      }\n      else if (bVar5 == 0x23) {\n        pcVar14->flags = pcVar14->flags | 0x10;\n      }\n      else if (bVar5 == 0x30) {\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }\n      else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }" if (parenthesized_expression "(bVar5 == 0x2d)" ( (binary_expression "bVar5 == 0x2d" identifier == number_literal) )) (compound_statement "{\n        pcVar14->flags = pcVar14->flags | 2;\n      }" { (expression_statement "pcVar14->flags = pcVar14->flags | 2;" (assignment_expression "pcVar14->flags = pcVar14->flags | 2" (field_expression "pcVar14->flags" identifier -> field_identifier) = (binary_expression "pcVar14->flags | 2" (field_expression "pcVar14->flags" identifier -> field_identifier) | number_literal)) ;) }) (else_clause "else if (bVar5 == 0x2b) {\n        pcVar14->flags = pcVar14->flags | 4;\n      }\n      else if (bVar5 == 0x20) {\n        pcVar14->flags = pcVar14->flags | 8;\n      }\n      else if (bVar5 == 0x23) {\n        pcVar14->flags = pcVar14->flags | 0x10;\n      }\n      else if (bVar5 == 0x30) {\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }\n      else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }" else (if_statement "if (bVar5 == 0x2b) {\n        pcVar14->flags = pcVar14->flags | 4;\n      }\n      else if (bVar5 == 0x20) {\n        pcVar14->flags = pcVar14->flags | 8;\n      }\n      else if (bVar5 == 0x23) {\n        pcVar14->flags = pcVar14->flags | 0x10;\n      }\n      else if (bVar5 == 0x30) {\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }\n      else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }" if (parenthesized_expression "(bVar5 == 0x2b)" ( (binary_expression "bVar5 == 0x2b" identifier == number_literal) )) (compound_statement "{\n        pcVar14->flags = pcVar14->flags | 4;\n      }" { (expression_statement "pcVar14->flags = pcVar14->flags | 4;" (assignment_expression "pcVar14->flags = pcVar14->flags | 4" (field_expression "pcVar14->flags" identifier -> field_identifier) = (binary_expression "pcVar14->flags | 4" (field_expression "pcVar14->flags" identifier -> field_identifier) | number_literal)) ;) }) (else_clause "else if (bVar5 == 0x20) {\n        pcVar14->flags = pcVar14->flags | 8;\n      }\n      else if (bVar5 == 0x23) {\n        pcVar14->flags = pcVar14->flags | 0x10;\n      }\n      else if (bVar5 == 0x30) {\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }\n      else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }" else (if_statement "if (bVar5 == 0x20) {\n        pcVar14->flags = pcVar14->flags | 8;\n      }\n      else if (bVar5 == 0x23) {\n        pcVar14->flags = pcVar14->flags | 0x10;\n      }\n      else if (bVar5 == 0x30) {\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }\n      else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }" if (parenthesized_expression "(bVar5 == 0x20)" ( (binary_expression "bVar5 == 0x20" identifier == number_literal) )) (compound_statement "{\n        pcVar14->flags = pcVar14->flags | 8;\n      }" { (expression_statement "pcVar14->flags = pcVar14->flags | 8;" (assignment_expression "pcVar14->flags = pcVar14->flags | 8" (field_expression "pcVar14->flags" identifier -> field_identifier) = (binary_expression "pcVar14->flags | 8" (field_expression "pcVar14->flags" identifier -> field_identifier) | number_literal)) ;) }) (else_clause "else if (bVar5 == 0x23) {\n        pcVar14->flags = pcVar14->flags | 0x10;\n      }\n      else if (bVar5 == 0x30) {\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }\n      else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }" else (if_statement "if (bVar5 == 0x23) {\n        pcVar14->flags = pcVar14->flags | 0x10;\n      }\n      else if (bVar5 == 0x30) {\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }\n      else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }" if (parenthesized_expression "(bVar5 == 0x23)" ( (binary_expression "bVar5 == 0x23" identifier == number_literal) )) (compound_statement "{\n        pcVar14->flags = pcVar14->flags | 0x10;\n      }" { (expression_statement "pcVar14->flags = pcVar14->flags | 0x10;" (assignment_expression "pcVar14->flags = pcVar14->flags | 0x10" (field_expression "pcVar14->flags" identifier -> field_identifier) = (binary_expression "pcVar14->flags | 0x10" (field_expression "pcVar14->flags" identifier -> field_identifier) | number_literal)) ;) }) (else_clause "else if (bVar5 == 0x30) {\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }\n      else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }" else (if_statement "if (bVar5 == 0x30) {\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }\n      else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }" if (parenthesized_expression "(bVar5 == 0x30)" ( (binary_expression "bVar5 == 0x30" identifier == number_literal) )) (compound_statement "{\n        pcVar14->flags = pcVar14->flags | 0x20;\n      }" { (expression_statement "pcVar14->flags = pcVar14->flags | 0x20;" (assignment_expression "pcVar14->flags = pcVar14->flags | 0x20" (field_expression "pcVar14->flags" identifier -> field_identifier) = (binary_expression "pcVar14->flags | 0x20" (field_expression "pcVar14->flags" identifier -> field_identifier) | number_literal)) ;) }) (else_clause "else {\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }" else (compound_statement "{\n        if (bVar5 != 0x49) goto LAB_00110e55;\n        pcVar14->flags = pcVar14->flags | 0x40;\n      }" { (if_statement "if (bVar5 != 0x49) goto LAB_00110e55;" if (parenthesized_expression "(bVar5 != 0x49)" ( (binary_expression "bVar5 != 0x49" identifier != number_literal) )) (goto_statement "goto LAB_00110e55;" goto statement_identifier ;)) (expression_statement "pcVar14->flags = pcVar14->flags | 0x40;" (assignment_expression "pcVar14->flags = pcVar14->flags | 0x40" (field_expression "pcVar14->flags" identifier -> field_identifier) = (binary_expression "pcVar14->flags | 0x40" (field_expression "pcVar14->flags" identifier -> field_identifier) | number_literal)) ;) }))))))))))))) (expression_statement "format = (char *)((byte *)format + 1);" (assignment_expression "format = (char *)((byte *)format + 1)" identifier = (cast_expression "(char *)((byte *)format + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)format + 1)" ( (binary_expression "(byte *)format + 1" (cast_expression "(byte *)format" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;) (labeled_statement "LAB_00110e55:\n  if (bVar5 == 0x2a) {\n    pcVar14->width_start = format;\n    pbVar7 = (byte *)format + 1;\n    pcVar14->width_end = (char *)pbVar7;\n    uVar17 = 1;\n    if (local_88 != 0) {\n      uVar17 = local_88;\n    }\n    bVar5 = ((byte *)format)[1];\n    pbVar8 = pbVar7;\n    if ((byte)(bVar5 - 0x30) < 10) {\n      do {\n        bVar3 = pbVar8[1];\n        pbVar8 = pbVar8 + 1;\n      } while ((byte)(bVar3 - 0x30) < 10);\n      if (bVar3 == 0x24) {\n        uVar12 = 0;\n        do {\n          uVar10 = local_50;\n          if (uVar12 < 0x199999999999999a) {\n            uVar10 = uVar12 * 10;\n          }\n          uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n          if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n            bVar5 = pbVar7[1];\n            uVar12 = local_50;\n            if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar5 = pbVar7[1];\n            if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111003;\n          }\n          pbVar7 = pbVar7 + 1;\n        } while( true );\n      }\n    }\n    if (pcVar14->width_arg_index == 0xffffffffffffffff) {\n      pcVar14->width_arg_index = local_60;\n      bVar18 = local_60 == 0xffffffffffffffff;\n      local_60 = local_60 + 1;\n      if (bVar18) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }" statement_identifier : (if_statement "if (bVar5 == 0x2a) {\n    pcVar14->width_start = format;\n    pbVar7 = (byte *)format + 1;\n    pcVar14->width_end = (char *)pbVar7;\n    uVar17 = 1;\n    if (local_88 != 0) {\n      uVar17 = local_88;\n    }\n    bVar5 = ((byte *)format)[1];\n    pbVar8 = pbVar7;\n    if ((byte)(bVar5 - 0x30) < 10) {\n      do {\n        bVar3 = pbVar8[1];\n        pbVar8 = pbVar8 + 1;\n      } while ((byte)(bVar3 - 0x30) < 10);\n      if (bVar3 == 0x24) {\n        uVar12 = 0;\n        do {\n          uVar10 = local_50;\n          if (uVar12 < 0x199999999999999a) {\n            uVar10 = uVar12 * 10;\n          }\n          uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n          if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n            bVar5 = pbVar7[1];\n            uVar12 = local_50;\n            if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar5 = pbVar7[1];\n            if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111003;\n          }\n          pbVar7 = pbVar7 + 1;\n        } while( true );\n      }\n    }\n    if (pcVar14->width_arg_index == 0xffffffffffffffff) {\n      pcVar14->width_arg_index = local_60;\n      bVar18 = local_60 == 0xffffffffffffffff;\n      local_60 = local_60 + 1;\n      if (bVar18) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }" if (parenthesized_expression "(bVar5 == 0x2a)" ( (binary_expression "bVar5 == 0x2a" identifier == number_literal) )) (compound_statement "{\n    pcVar14->width_start = format;\n    pbVar7 = (byte *)format + 1;\n    pcVar14->width_end = (char *)pbVar7;\n    uVar17 = 1;\n    if (local_88 != 0) {\n      uVar17 = local_88;\n    }\n    bVar5 = ((byte *)format)[1];\n    pbVar8 = pbVar7;\n    if ((byte)(bVar5 - 0x30) < 10) {\n      do {\n        bVar3 = pbVar8[1];\n        pbVar8 = pbVar8 + 1;\n      } while ((byte)(bVar3 - 0x30) < 10);\n      if (bVar3 == 0x24) {\n        uVar12 = 0;\n        do {\n          uVar10 = local_50;\n          if (uVar12 < 0x199999999999999a) {\n            uVar10 = uVar12 * 10;\n          }\n          uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n          if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n            bVar5 = pbVar7[1];\n            uVar12 = local_50;\n            if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar5 = pbVar7[1];\n            if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111003;\n          }\n          pbVar7 = pbVar7 + 1;\n        } while( true );\n      }\n    }\n    if (pcVar14->width_arg_index == 0xffffffffffffffff) {\n      pcVar14->width_arg_index = local_60;\n      bVar18 = local_60 == 0xffffffffffffffff;\n      local_60 = local_60 + 1;\n      if (bVar18) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }" { (expression_statement "pcVar14->width_start = format;" (assignment_expression "pcVar14->width_start = format" (field_expression "pcVar14->width_start" identifier -> field_identifier) = identifier) ;) (expression_statement "pbVar7 = (byte *)format + 1;" (assignment_expression "pbVar7 = (byte *)format + 1" identifier = (binary_expression "(byte *)format + 1" (cast_expression "(byte *)format" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal)) ;) (expression_statement "pcVar14->width_end = (char *)pbVar7;" (assignment_expression "pcVar14->width_end = (char *)pbVar7" (field_expression "pcVar14->width_end" identifier -> field_identifier) = (cast_expression "(char *)pbVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;) (if_statement "if (local_88 != 0) {\n      uVar17 = local_88;\n    }" if (parenthesized_expression "(local_88 != 0)" ( (binary_expression "local_88 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar17 = local_88;\n    }" { (expression_statement "uVar17 = local_88;" (assignment_expression "uVar17 = local_88" identifier = identifier) ;) })) (expression_statement "bVar5 = ((byte *)format)[1];" (assignment_expression "bVar5 = ((byte *)format)[1]" identifier = (subscript_expression "((byte *)format)[1]" (parenthesized_expression "((byte *)format)" ( (cast_expression "(byte *)format" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "pbVar8 = pbVar7;" (assignment_expression "pbVar8 = pbVar7" identifier = identifier) ;) (if_statement "if ((byte)(bVar5 - 0x30) < 10) {\n      do {\n        bVar3 = pbVar8[1];\n        pbVar8 = pbVar8 + 1;\n      } while ((byte)(bVar3 - 0x30) < 10);\n      if (bVar3 == 0x24) {\n        uVar12 = 0;\n        do {\n          uVar10 = local_50;\n          if (uVar12 < 0x199999999999999a) {\n            uVar10 = uVar12 * 10;\n          }\n          uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n          if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n            bVar5 = pbVar7[1];\n            uVar12 = local_50;\n            if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar5 = pbVar7[1];\n            if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111003;\n          }\n          pbVar7 = pbVar7 + 1;\n        } while( true );\n      }\n    }" if (parenthesized_expression "((byte)(bVar5 - 0x30) < 10)" ( (binary_expression "(byte)(bVar5 - 0x30) < 10" (call_expression "(byte)(bVar5 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar5 - 0x30)" ( (binary_expression "bVar5 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n      do {\n        bVar3 = pbVar8[1];\n        pbVar8 = pbVar8 + 1;\n      } while ((byte)(bVar3 - 0x30) < 10);\n      if (bVar3 == 0x24) {\n        uVar12 = 0;\n        do {\n          uVar10 = local_50;\n          if (uVar12 < 0x199999999999999a) {\n            uVar10 = uVar12 * 10;\n          }\n          uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n          if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n            bVar5 = pbVar7[1];\n            uVar12 = local_50;\n            if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar5 = pbVar7[1];\n            if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111003;\n          }\n          pbVar7 = pbVar7 + 1;\n        } while( true );\n      }\n    }" { (do_statement "do {\n        bVar3 = pbVar8[1];\n        pbVar8 = pbVar8 + 1;\n      } while ((byte)(bVar3 - 0x30) < 10);" do (compound_statement "{\n        bVar3 = pbVar8[1];\n        pbVar8 = pbVar8 + 1;\n      }" { (expression_statement "bVar3 = pbVar8[1];" (assignment_expression "bVar3 = pbVar8[1]" identifier = (subscript_expression "pbVar8[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((byte)(bVar3 - 0x30) < 10)" ( (binary_expression "(byte)(bVar3 - 0x30) < 10" (call_expression "(byte)(bVar3 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x30)" ( (binary_expression "bVar3 - 0x30" identifier - number_literal) ))) < number_literal) )) ;) (if_statement "if (bVar3 == 0x24) {\n        uVar12 = 0;\n        do {\n          uVar10 = local_50;\n          if (uVar12 < 0x199999999999999a) {\n            uVar10 = uVar12 * 10;\n          }\n          uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n          if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n            bVar5 = pbVar7[1];\n            uVar12 = local_50;\n            if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar5 = pbVar7[1];\n            if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111003;\n          }\n          pbVar7 = pbVar7 + 1;\n        } while( true );\n      }" if (parenthesized_expression "(bVar3 == 0x24)" ( (binary_expression "bVar3 == 0x24" identifier == number_literal) )) (compound_statement "{\n        uVar12 = 0;\n        do {\n          uVar10 = local_50;\n          if (uVar12 < 0x199999999999999a) {\n            uVar10 = uVar12 * 10;\n          }\n          uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n          if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n            bVar5 = pbVar7[1];\n            uVar12 = local_50;\n            if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar5 = pbVar7[1];\n            if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111003;\n          }\n          pbVar7 = pbVar7 + 1;\n        } while( true );\n      }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n          uVar10 = local_50;\n          if (uVar12 < 0x199999999999999a) {\n            uVar10 = uVar12 * 10;\n          }\n          uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n          if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n            bVar5 = pbVar7[1];\n            uVar12 = local_50;\n            if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar5 = pbVar7[1];\n            if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111003;\n          }\n          pbVar7 = pbVar7 + 1;\n        } while( true );" do (compound_statement "{\n          uVar10 = local_50;\n          if (uVar12 < 0x199999999999999a) {\n            uVar10 = uVar12 * 10;\n          }\n          uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n          if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n            bVar5 = pbVar7[1];\n            uVar12 = local_50;\n            if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar5 = pbVar7[1];\n            if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111003;\n          }\n          pbVar7 = pbVar7 + 1;\n        }" { (expression_statement "uVar10 = local_50;" (assignment_expression "uVar10 = local_50" identifier = identifier) ;) (if_statement "if (uVar12 < 0x199999999999999a) {\n            uVar10 = uVar12 * 10;\n          }" if (parenthesized_expression "(uVar12 < 0x199999999999999a)" ( (binary_expression "uVar12 < 0x199999999999999a" identifier < number_literal) )) (compound_statement "{\n            uVar10 = uVar12 * 10;\n          }" { (expression_statement "uVar10 = uVar12 * 10;" (assignment_expression "uVar10 = uVar12 * 10" identifier = (binary_expression "uVar12 * 10" identifier * number_literal)) ;) })) (expression_statement "uVar12 = (long)((char)bVar5 + -0x30) + uVar10;" (assignment_expression "uVar12 = (long)((char)bVar5 + -0x30) + uVar10" identifier = (binary_expression "(long)((char)bVar5 + -0x30) + uVar10" (cast_expression "(long)((char)bVar5 + -0x30)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((char)bVar5 + -0x30)" ( (binary_expression "(char)bVar5 + -0x30" (cast_expression "(char)bVar5" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ))) + identifier)) ;) (if_statement "if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n            bVar5 = pbVar7[1];\n            uVar12 = local_50;\n            if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar5 = pbVar7[1];\n            if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111003;\n          }" if (parenthesized_expression "(CARRY8((long)((char)bVar5 + -0x30),uVar10))" ( (call_expression "CARRY8((long)((char)bVar5 + -0x30),uVar10)" identifier (argument_list "((long)((char)bVar5 + -0x30),uVar10)" ( (cast_expression "(long)((char)bVar5 + -0x30)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((char)bVar5 + -0x30)" ( (binary_expression "(char)bVar5 + -0x30" (cast_expression "(char)bVar5" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ))) , identifier ))) )) (compound_statement "{\n            bVar5 = pbVar7[1];\n            uVar12 = local_50;\n            if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n          }" { (expression_statement "bVar5 = pbVar7[1];" (assignment_expression "bVar5 = pbVar7[1]" identifier = (subscript_expression "pbVar7[1]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = local_50;" (assignment_expression "uVar12 = local_50" identifier = identifier) ;) (if_statement "if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(9 < (byte)(bVar5 - 0x30))" ( (binary_expression "9 < (byte)(bVar5 - 0x30)" number_literal < (call_expression "(byte)(bVar5 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar5 - 0x30)" ( (binary_expression "bVar5 - 0x30" identifier - number_literal) )))) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) }) (else_clause "else {\n            bVar5 = pbVar7[1];\n            if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111003;\n          }" else (compound_statement "{\n            bVar5 = pbVar7[1];\n            if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111003;\n          }" { (expression_statement "bVar5 = pbVar7[1];" (assignment_expression "bVar5 = pbVar7[1]" identifier = (subscript_expression "pbVar7[1]" identifier [ number_literal ])) ;) (if_statement "if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111003;" if (parenthesized_expression "(9 < (byte)(bVar5 - 0x30))" ( (binary_expression "9 < (byte)(bVar5 - 0x30)" number_literal < (call_expression "(byte)(bVar5 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar5 - 0x30)" ( (binary_expression "bVar5 - 0x30" identifier - number_literal) )))) )) (goto_statement "goto LAB_00111003;" goto statement_identifier ;)) }))) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (if_statement "if (pcVar14->width_arg_index == 0xffffffffffffffff) {\n      pcVar14->width_arg_index = local_60;\n      bVar18 = local_60 == 0xffffffffffffffff;\n      local_60 = local_60 + 1;\n      if (bVar18) goto switchD_001113be_caseD_26;\n    }" if (parenthesized_expression "(pcVar14->width_arg_index == 0xffffffffffffffff)" ( (binary_expression "pcVar14->width_arg_index == 0xffffffffffffffff" (field_expression "pcVar14->width_arg_index" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      pcVar14->width_arg_index = local_60;\n      bVar18 = local_60 == 0xffffffffffffffff;\n      local_60 = local_60 + 1;\n      if (bVar18) goto switchD_001113be_caseD_26;\n    }" { (expression_statement "pcVar14->width_arg_index = local_60;" (assignment_expression "pcVar14->width_arg_index = local_60" (field_expression "pcVar14->width_arg_index" identifier -> field_identifier) = identifier) ;) (expression_statement "bVar18 = local_60 == 0xffffffffffffffff;" (assignment_expression "bVar18 = local_60 == 0xffffffffffffffff" identifier = (binary_expression "local_60 == 0xffffffffffffffff" identifier == number_literal)) ;) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" identifier = (binary_expression "local_60 + 1" identifier + number_literal)) ;) (if_statement "if (bVar18) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(bVar18)" ( identifier )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00110ebb;" goto statement_identifier ;) }))) (expression_statement "pbVar7 = (byte *)format;" (assignment_expression "pbVar7 = (byte *)format" identifier = (cast_expression "(byte *)format" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar17 = local_88;" (assignment_expression "uVar17 = local_88" identifier = identifier) ;) (if_statement "if ((byte)(bVar5 - 0x30) < 10) {\n    pcVar14->width_start = format;\n    bVar5 = *format;\n    while ((byte)(bVar5 - 0x30) < 10) {\n      pbVar7 = pbVar7 + 1;\n      bVar5 = *pbVar7;\n    }\n    pcVar14->width_end = (char *)pbVar7;\n    uVar17 = (long)pbVar7 - (long)format;\n    if ((ulong)((long)pbVar7 - (long)format) <= local_88) {\n      uVar17 = local_88;\n    }\n  }" if (parenthesized_expression "((byte)(bVar5 - 0x30) < 10)" ( (binary_expression "(byte)(bVar5 - 0x30) < 10" (call_expression "(byte)(bVar5 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar5 - 0x30)" ( (binary_expression "bVar5 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n    pcVar14->width_start = format;\n    bVar5 = *format;\n    while ((byte)(bVar5 - 0x30) < 10) {\n      pbVar7 = pbVar7 + 1;\n      bVar5 = *pbVar7;\n    }\n    pcVar14->width_end = (char *)pbVar7;\n    uVar17 = (long)pbVar7 - (long)format;\n    if ((ulong)((long)pbVar7 - (long)format) <= local_88) {\n      uVar17 = local_88;\n    }\n  }" { (expression_statement "pcVar14->width_start = format;" (assignment_expression "pcVar14->width_start = format" (field_expression "pcVar14->width_start" identifier -> field_identifier) = identifier) ;) (expression_statement "bVar5 = *format;" (assignment_expression "bVar5 = *format" identifier = (pointer_expression "*format" * identifier)) ;) (while_statement "while ((byte)(bVar5 - 0x30) < 10) {\n      pbVar7 = pbVar7 + 1;\n      bVar5 = *pbVar7;\n    }" while (parenthesized_expression "((byte)(bVar5 - 0x30) < 10)" ( (binary_expression "(byte)(bVar5 - 0x30) < 10" (call_expression "(byte)(bVar5 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar5 - 0x30)" ( (binary_expression "bVar5 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n      pbVar7 = pbVar7 + 1;\n      bVar5 = *pbVar7;\n    }" { (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "bVar5 = *pbVar7;" (assignment_expression "bVar5 = *pbVar7" identifier = (pointer_expression "*pbVar7" * identifier)) ;) })) (expression_statement "pcVar14->width_end = (char *)pbVar7;" (assignment_expression "pcVar14->width_end = (char *)pbVar7" (field_expression "pcVar14->width_end" identifier -> field_identifier) = (cast_expression "(char *)pbVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar17 = (long)pbVar7 - (long)format;" (assignment_expression "uVar17 = (long)pbVar7 - (long)format" identifier = (binary_expression "(long)pbVar7 - (long)format" (cast_expression "(long)pbVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)format" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (if_statement "if ((ulong)((long)pbVar7 - (long)format) <= local_88) {\n      uVar17 = local_88;\n    }" if (parenthesized_expression "((ulong)((long)pbVar7 - (long)format) <= local_88)" ( (binary_expression "(ulong)((long)pbVar7 - (long)format) <= local_88" (call_expression "(ulong)((long)pbVar7 - (long)format)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)pbVar7 - (long)format)" ( (binary_expression "(long)pbVar7 - (long)format" (cast_expression "(long)pbVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)format" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) <= identifier) )) (compound_statement "{\n      uVar17 = local_88;\n    }" { (expression_statement "uVar17 = local_88;" (assignment_expression "uVar17 = local_88" identifier = identifier) ;) })) })) (labeled_statement "LAB_00110e66:\n  local_88 = uVar17;" statement_identifier : (expression_statement "local_88 = uVar17;" (assignment_expression "local_88 = uVar17" identifier = identifier) ;)) (expression_statement "pbVar8 = pbVar7;" (assignment_expression "pbVar8 = pbVar7" identifier = identifier) ;) (expression_statement "uVar17 = local_70;" (assignment_expression "uVar17 = local_70" identifier = identifier) ;) (if_statement "if (*pbVar7 != 0x2e) goto LAB_00110e6f;" if (parenthesized_expression "(*pbVar7 != 0x2e)" ( (binary_expression "*pbVar7 != 0x2e" (pointer_expression "*pbVar7" * identifier) != number_literal) )) (goto_statement "goto LAB_00110e6f;" goto statement_identifier ;)) (if_statement "if (pbVar7[1] != 0x2a) {\n    pbVar8 = pbVar7 + 1;\n    pcVar14->precision_start = (char *)pbVar7;\n    bVar5 = pbVar7[1];\n    while ((byte)(bVar5 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar5 = *pbVar8;\n    }\n    pcVar14->precision_end = (char *)pbVar8;\n    uVar17 = (long)pbVar8 - (long)pbVar7;\n    if ((ulong)((long)pbVar8 - (long)pbVar7) <= local_70) {\n      uVar17 = local_70;\n    }\n    goto LAB_00110e6f;\n  }" if (parenthesized_expression "(pbVar7[1] != 0x2a)" ( (binary_expression "pbVar7[1] != 0x2a" (subscript_expression "pbVar7[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    pbVar8 = pbVar7 + 1;\n    pcVar14->precision_start = (char *)pbVar7;\n    bVar5 = pbVar7[1];\n    while ((byte)(bVar5 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar5 = *pbVar8;\n    }\n    pcVar14->precision_end = (char *)pbVar8;\n    uVar17 = (long)pbVar8 - (long)pbVar7;\n    if ((ulong)((long)pbVar8 - (long)pbVar7) <= local_70) {\n      uVar17 = local_70;\n    }\n    goto LAB_00110e6f;\n  }" { (expression_statement "pbVar8 = pbVar7 + 1;" (assignment_expression "pbVar8 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pcVar14->precision_start = (char *)pbVar7;" (assignment_expression "pcVar14->precision_start = (char *)pbVar7" (field_expression "pcVar14->precision_start" identifier -> field_identifier) = (cast_expression "(char *)pbVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "bVar5 = pbVar7[1];" (assignment_expression "bVar5 = pbVar7[1]" identifier = (subscript_expression "pbVar7[1]" identifier [ number_literal ])) ;) (while_statement "while ((byte)(bVar5 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar5 = *pbVar8;\n    }" while (parenthesized_expression "((byte)(bVar5 - 0x30) < 10)" ( (binary_expression "(byte)(bVar5 - 0x30) < 10" (call_expression "(byte)(bVar5 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar5 - 0x30)" ( (binary_expression "bVar5 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n      pbVar8 = pbVar8 + 1;\n      bVar5 = *pbVar8;\n    }" { (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "bVar5 = *pbVar8;" (assignment_expression "bVar5 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) })) (expression_statement "pcVar14->precision_end = (char *)pbVar8;" (assignment_expression "pcVar14->precision_end = (char *)pbVar8" (field_expression "pcVar14->precision_end" identifier -> field_identifier) = (cast_expression "(char *)pbVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar17 = (long)pbVar8 - (long)pbVar7;" (assignment_expression "uVar17 = (long)pbVar8 - (long)pbVar7" identifier = (binary_expression "(long)pbVar8 - (long)pbVar7" (cast_expression "(long)pbVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pbVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (if_statement "if ((ulong)((long)pbVar8 - (long)pbVar7) <= local_70) {\n      uVar17 = local_70;\n    }" if (parenthesized_expression "((ulong)((long)pbVar8 - (long)pbVar7) <= local_70)" ( (binary_expression "(ulong)((long)pbVar8 - (long)pbVar7) <= local_70" (call_expression "(ulong)((long)pbVar8 - (long)pbVar7)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)pbVar8 - (long)pbVar7)" ( (binary_expression "(long)pbVar8 - (long)pbVar7" (cast_expression "(long)pbVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pbVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) <= identifier) )) (compound_statement "{\n      uVar17 = local_70;\n    }" { (expression_statement "uVar17 = local_70;" (assignment_expression "uVar17 = local_70" identifier = identifier) ;) })) (goto_statement "goto LAB_00110e6f;" goto statement_identifier ;) })) (expression_statement "pcVar14->precision_start = (char *)pbVar7;" (assignment_expression "pcVar14->precision_start = (char *)pbVar7" (field_expression "pcVar14->precision_start" identifier -> field_identifier) = (cast_expression "(char *)pbVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar8 = pbVar7 + 2;" (assignment_expression "pbVar8 = pbVar7 + 2" identifier = (binary_expression "pbVar7 + 2" identifier + number_literal)) ;) (expression_statement "pcVar14->precision_end = (char *)pbVar8;" (assignment_expression "pcVar14->precision_end = (char *)pbVar8" (field_expression "pcVar14->precision_end" identifier -> field_identifier) = (cast_expression "(char *)pbVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar17 = 2;" (assignment_expression "uVar17 = 2" identifier = number_literal) ;) (if_statement "if (1 < local_70) {\n    uVar17 = local_70;\n  }" if (parenthesized_expression "(1 < local_70)" ( (binary_expression "1 < local_70" number_literal < identifier) )) (compound_statement "{\n    uVar17 = local_70;\n  }" { (expression_statement "uVar17 = local_70;" (assignment_expression "uVar17 = local_70" identifier = identifier) ;) })) (expression_statement "bVar5 = pbVar7[2];" (assignment_expression "bVar5 = pbVar7[2]" identifier = (subscript_expression "pbVar7[2]" identifier [ number_literal ])) ;) (expression_statement "pbVar11 = pbVar8;" (assignment_expression "pbVar11 = pbVar8" identifier = identifier) ;) (if_statement "if ((byte)(bVar5 - 0x30) < 10) {\n    do {\n      bVar3 = pbVar11[1];\n      pbVar11 = pbVar11 + 1;\n    } while ((byte)(bVar3 - 0x30) < 10);\n    if (bVar3 == 0x24) {\n      pbVar7 = pbVar7 + 2;\n      uVar12 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar12 < 0x199999999999999a) {\n          uVar10 = uVar12 * 10;\n        }\n        uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n          bVar5 = pbVar7[1];\n          uVar12 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = pbVar7[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111244;\n        }\n        pbVar7 = pbVar7 + 1;\n      } while( true );\n    }\n  }" if (parenthesized_expression "((byte)(bVar5 - 0x30) < 10)" ( (binary_expression "(byte)(bVar5 - 0x30) < 10" (call_expression "(byte)(bVar5 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar5 - 0x30)" ( (binary_expression "bVar5 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n    do {\n      bVar3 = pbVar11[1];\n      pbVar11 = pbVar11 + 1;\n    } while ((byte)(bVar3 - 0x30) < 10);\n    if (bVar3 == 0x24) {\n      pbVar7 = pbVar7 + 2;\n      uVar12 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar12 < 0x199999999999999a) {\n          uVar10 = uVar12 * 10;\n        }\n        uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n          bVar5 = pbVar7[1];\n          uVar12 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = pbVar7[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111244;\n        }\n        pbVar7 = pbVar7 + 1;\n      } while( true );\n    }\n  }" { (do_statement "do {\n      bVar3 = pbVar11[1];\n      pbVar11 = pbVar11 + 1;\n    } while ((byte)(bVar3 - 0x30) < 10);" do (compound_statement "{\n      bVar3 = pbVar11[1];\n      pbVar11 = pbVar11 + 1;\n    }" { (expression_statement "bVar3 = pbVar11[1];" (assignment_expression "bVar3 = pbVar11[1]" identifier = (subscript_expression "pbVar11[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar11 = pbVar11 + 1;" (assignment_expression "pbVar11 = pbVar11 + 1" identifier = (binary_expression "pbVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((byte)(bVar3 - 0x30) < 10)" ( (binary_expression "(byte)(bVar3 - 0x30) < 10" (call_expression "(byte)(bVar3 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x30)" ( (binary_expression "bVar3 - 0x30" identifier - number_literal) ))) < number_literal) )) ;) (if_statement "if (bVar3 == 0x24) {\n      pbVar7 = pbVar7 + 2;\n      uVar12 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar12 < 0x199999999999999a) {\n          uVar10 = uVar12 * 10;\n        }\n        uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n          bVar5 = pbVar7[1];\n          uVar12 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = pbVar7[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111244;\n        }\n        pbVar7 = pbVar7 + 1;\n      } while( true );\n    }" if (parenthesized_expression "(bVar3 == 0x24)" ( (binary_expression "bVar3 == 0x24" identifier == number_literal) )) (compound_statement "{\n      pbVar7 = pbVar7 + 2;\n      uVar12 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar12 < 0x199999999999999a) {\n          uVar10 = uVar12 * 10;\n        }\n        uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n          bVar5 = pbVar7[1];\n          uVar12 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = pbVar7[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111244;\n        }\n        pbVar7 = pbVar7 + 1;\n      } while( true );\n    }" { (expression_statement "pbVar7 = pbVar7 + 2;" (assignment_expression "pbVar7 = pbVar7 + 2" identifier = (binary_expression "pbVar7 + 2" identifier + number_literal)) ;) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar10 = local_50;\n        if (uVar12 < 0x199999999999999a) {\n          uVar10 = uVar12 * 10;\n        }\n        uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n          bVar5 = pbVar7[1];\n          uVar12 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = pbVar7[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111244;\n        }\n        pbVar7 = pbVar7 + 1;\n      } while( true );" do (compound_statement "{\n        uVar10 = local_50;\n        if (uVar12 < 0x199999999999999a) {\n          uVar10 = uVar12 * 10;\n        }\n        uVar12 = (long)((char)bVar5 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n          bVar5 = pbVar7[1];\n          uVar12 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = pbVar7[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111244;\n        }\n        pbVar7 = pbVar7 + 1;\n      }" { (expression_statement "uVar10 = local_50;" (assignment_expression "uVar10 = local_50" identifier = identifier) ;) (if_statement "if (uVar12 < 0x199999999999999a) {\n          uVar10 = uVar12 * 10;\n        }" if (parenthesized_expression "(uVar12 < 0x199999999999999a)" ( (binary_expression "uVar12 < 0x199999999999999a" identifier < number_literal) )) (compound_statement "{\n          uVar10 = uVar12 * 10;\n        }" { (expression_statement "uVar10 = uVar12 * 10;" (assignment_expression "uVar10 = uVar12 * 10" identifier = (binary_expression "uVar12 * 10" identifier * number_literal)) ;) })) (expression_statement "uVar12 = (long)((char)bVar5 + -0x30) + uVar10;" (assignment_expression "uVar12 = (long)((char)bVar5 + -0x30) + uVar10" identifier = (binary_expression "(long)((char)bVar5 + -0x30) + uVar10" (cast_expression "(long)((char)bVar5 + -0x30)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((char)bVar5 + -0x30)" ( (binary_expression "(char)bVar5 + -0x30" (cast_expression "(char)bVar5" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ))) + identifier)) ;) (if_statement "if (CARRY8((long)((char)bVar5 + -0x30),uVar10)) {\n          bVar5 = pbVar7[1];\n          uVar12 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar5 = pbVar7[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111244;\n        }" if (parenthesized_expression "(CARRY8((long)((char)bVar5 + -0x30),uVar10))" ( (call_expression "CARRY8((long)((char)bVar5 + -0x30),uVar10)" identifier (argument_list "((long)((char)bVar5 + -0x30),uVar10)" ( (cast_expression "(long)((char)bVar5 + -0x30)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((char)bVar5 + -0x30)" ( (binary_expression "(char)bVar5 + -0x30" (cast_expression "(char)bVar5" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ))) , identifier ))) )) (compound_statement "{\n          bVar5 = pbVar7[1];\n          uVar12 = local_50;\n          if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;\n        }" { (expression_statement "bVar5 = pbVar7[1];" (assignment_expression "bVar5 = pbVar7[1]" identifier = (subscript_expression "pbVar7[1]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = local_50;" (assignment_expression "uVar12 = local_50" identifier = identifier) ;) (if_statement "if (9 < (byte)(bVar5 - 0x30)) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(9 < (byte)(bVar5 - 0x30))" ( (binary_expression "9 < (byte)(bVar5 - 0x30)" number_literal < (call_expression "(byte)(bVar5 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar5 - 0x30)" ( (binary_expression "bVar5 - 0x30" identifier - number_literal) )))) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) }) (else_clause "else {\n          bVar5 = pbVar7[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111244;\n        }" else (compound_statement "{\n          bVar5 = pbVar7[1];\n          if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111244;\n        }" { (expression_statement "bVar5 = pbVar7[1];" (assignment_expression "bVar5 = pbVar7[1]" identifier = (subscript_expression "pbVar7[1]" identifier [ number_literal ])) ;) (if_statement "if (9 < (byte)(bVar5 - 0x30)) goto LAB_00111244;" if (parenthesized_expression "(9 < (byte)(bVar5 - 0x30))" ( (binary_expression "9 < (byte)(bVar5 - 0x30)" number_literal < (call_expression "(byte)(bVar5 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar5 - 0x30)" ( (binary_expression "bVar5 - 0x30" identifier - number_literal) )))) )) (goto_statement "goto LAB_00111244;" goto statement_identifier ;)) }))) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (if_statement "if (pcVar14->precision_arg_index == 0xffffffffffffffff) {\n    pcVar14->precision_arg_index = local_60;\n    bVar18 = local_60 == 0xffffffffffffffff;\n    local_60 = local_60 + 1;\n    if (bVar18) goto switchD_001113be_caseD_26;\n  }" if (parenthesized_expression "(pcVar14->precision_arg_index == 0xffffffffffffffff)" ( (binary_expression "pcVar14->precision_arg_index == 0xffffffffffffffff" (field_expression "pcVar14->precision_arg_index" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n    pcVar14->precision_arg_index = local_60;\n    bVar18 = local_60 == 0xffffffffffffffff;\n    local_60 = local_60 + 1;\n    if (bVar18) goto switchD_001113be_caseD_26;\n  }" { (expression_statement "pcVar14->precision_arg_index = local_60;" (assignment_expression "pcVar14->precision_arg_index = local_60" (field_expression "pcVar14->precision_arg_index" identifier -> field_identifier) = identifier) ;) (expression_statement "bVar18 = local_60 == 0xffffffffffffffff;" (assignment_expression "bVar18 = local_60 == 0xffffffffffffffff" identifier = (binary_expression "local_60 == 0xffffffffffffffff" identifier == number_literal)) ;) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" identifier = (binary_expression "local_60 + 1" identifier + number_literal)) ;) (if_statement "if (bVar18) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(bVar18)" ( identifier )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0011110c;" goto statement_identifier ;) (labeled_statement "LAB_00111003:\n  uVar12 = uVar12 - 1;" statement_identifier : (expression_statement "uVar12 = uVar12 - 1;" (assignment_expression "uVar12 = uVar12 - 1" identifier = (binary_expression "uVar12 - 1" identifier - number_literal)) ;)) (if_statement "if (0xfffffffffffffffd < uVar12) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(0xfffffffffffffffd < uVar12)" ( (binary_expression "0xfffffffffffffffd < uVar12" number_literal < identifier) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) (expression_statement "pcVar14->width_arg_index = uVar12;" (assignment_expression "pcVar14->width_arg_index = uVar12" (field_expression "pcVar14->width_arg_index" identifier -> field_identifier) = identifier) ;) (expression_statement "pbVar7 = pbVar7 + 2;" (assignment_expression "pbVar7 = pbVar7 + 2" identifier = (binary_expression "pbVar7 + 2" identifier + number_literal)) ;) (labeled_statement "LAB_00110ebb:\n  uVar12 = pcVar14->width_arg_index;" statement_identifier : (expression_statement "uVar12 = pcVar14->width_arg_index;" (assignment_expression "uVar12 = pcVar14->width_arg_index" identifier = (field_expression "pcVar14->width_arg_index" identifier -> field_identifier)) ;)) (if_statement "if (uVar12 < local_90) {\nLAB_00110f4e:\n    uVar10 = a->count;\n    while (uVar10 <= uVar12) {\n      a->count = uVar10 + 1;\n      a->arg[uVar10].type = TYPE_NONE;\n      uVar10 = a->count;\n    }\n    aVar6 = a->arg[uVar12].type;\n    if (aVar6 == TYPE_NONE) {\n      a->arg[uVar12].type = TYPE_INT;\n    }\n    else if (aVar6 != TYPE_INT) goto switchD_001113be_caseD_26;\n    goto LAB_00110e66;\n  }" if (parenthesized_expression "(uVar12 < local_90)" ( (binary_expression "uVar12 < local_90" identifier < identifier) )) (compound_statement "{\nLAB_00110f4e:\n    uVar10 = a->count;\n    while (uVar10 <= uVar12) {\n      a->count = uVar10 + 1;\n      a->arg[uVar10].type = TYPE_NONE;\n      uVar10 = a->count;\n    }\n    aVar6 = a->arg[uVar12].type;\n    if (aVar6 == TYPE_NONE) {\n      a->arg[uVar12].type = TYPE_INT;\n    }\n    else if (aVar6 != TYPE_INT) goto switchD_001113be_caseD_26;\n    goto LAB_00110e66;\n  }" { (labeled_statement "LAB_00110f4e:\n    uVar10 = a->count;" statement_identifier : (expression_statement "uVar10 = a->count;" (assignment_expression "uVar10 = a->count" identifier = (field_expression "a->count" identifier -> field_identifier)) ;)) (while_statement "while (uVar10 <= uVar12) {\n      a->count = uVar10 + 1;\n      a->arg[uVar10].type = TYPE_NONE;\n      uVar10 = a->count;\n    }" while (parenthesized_expression "(uVar10 <= uVar12)" ( (binary_expression "uVar10 <= uVar12" identifier <= identifier) )) (compound_statement "{\n      a->count = uVar10 + 1;\n      a->arg[uVar10].type = TYPE_NONE;\n      uVar10 = a->count;\n    }" { (expression_statement "a->count = uVar10 + 1;" (assignment_expression "a->count = uVar10 + 1" (field_expression "a->count" identifier -> field_identifier) = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "a->arg[uVar10].type = TYPE_NONE;" (assignment_expression "a->arg[uVar10].type = TYPE_NONE" (field_expression "a->arg[uVar10].type" (subscript_expression "a->arg[uVar10]" (field_expression "a->arg" identifier -> field_identifier) [ identifier ]) . field_identifier) = identifier) ;) (expression_statement "uVar10 = a->count;" (assignment_expression "uVar10 = a->count" identifier = (field_expression "a->count" identifier -> field_identifier)) ;) })) (expression_statement "aVar6 = a->arg[uVar12].type;" (assignment_expression "aVar6 = a->arg[uVar12].type" identifier = (field_expression "a->arg[uVar12].type" (subscript_expression "a->arg[uVar12]" (field_expression "a->arg" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (if_statement "if (aVar6 == TYPE_NONE) {\n      a->arg[uVar12].type = TYPE_INT;\n    }\n    else if (aVar6 != TYPE_INT) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(aVar6 == TYPE_NONE)" ( (binary_expression "aVar6 == TYPE_NONE" identifier == identifier) )) (compound_statement "{\n      a->arg[uVar12].type = TYPE_INT;\n    }" { (expression_statement "a->arg[uVar12].type = TYPE_INT;" (assignment_expression "a->arg[uVar12].type = TYPE_INT" (field_expression "a->arg[uVar12].type" (subscript_expression "a->arg[uVar12]" (field_expression "a->arg" identifier -> field_identifier) [ identifier ]) . field_identifier) = identifier) ;) }) (else_clause "else if (aVar6 != TYPE_INT) goto switchD_001113be_caseD_26;" else (if_statement "if (aVar6 != TYPE_INT) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(aVar6 != TYPE_INT)" ( (binary_expression "aVar6 != TYPE_INT" identifier != identifier) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)))) (goto_statement "goto LAB_00110e66;" goto statement_identifier ;) })) (if_statement "if ((-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))\n      && (local_90 < 0x800000000000000)))) {\n    if (paVar2 == a->arg) {\n      local_78 = (argument *)malloc(local_90 << 5);\n    }\n    else {\n      local_78 = (argument *)realloc(a->arg,local_90 << 5);\n    }\n    if (local_78 != (argument *)0x0) {\n      if (paVar2 == a->arg) {\n        memcpy(local_78,a->arg,a->count << 5);\n      }\n      a->arg = local_78;\n      goto LAB_00110f4e;\n    }\n  }" if (parenthesized_expression "((-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))\n      && (local_90 < 0x800000000000000))))" ( (binary_expression "(-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))\n      && (local_90 < 0x800000000000000)))" (parenthesized_expression "(-1 < (long)local_90)" ( (binary_expression "-1 < (long)local_90" number_literal < (cast_expression "(long)local_90" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) && (parenthesized_expression "(((local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))\n      && (local_90 < 0x800000000000000)))" ( (parenthesized_expression "((local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))\n      && (local_90 < 0x800000000000000))" ( (binary_expression "(local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))\n      && (local_90 < 0x800000000000000)" (parenthesized_expression "(local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))" ( (comma_expression "local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90)" (assignment_expression "local_90 = local_90 * 2" identifier = (binary_expression "local_90 * 2" identifier * number_literal)) , (binary_expression "uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90)" (binary_expression "uVar12 < local_90" identifier < identifier) || (parenthesized_expression "(local_90 = uVar12 + 1, uVar12 <= local_90)" ( (comma_expression "local_90 = uVar12 + 1, uVar12 <= local_90" (assignment_expression "local_90 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) , (binary_expression "uVar12 <= local_90" identifier <= identifier)) )))) )) && (parenthesized_expression "(local_90 < 0x800000000000000)" ( (binary_expression "local_90 < 0x800000000000000" identifier < number_literal) ))) )) ))) )) (compound_statement "{\n    if (paVar2 == a->arg) {\n      local_78 = (argument *)malloc(local_90 << 5);\n    }\n    else {\n      local_78 = (argument *)realloc(a->arg,local_90 << 5);\n    }\n    if (local_78 != (argument *)0x0) {\n      if (paVar2 == a->arg) {\n        memcpy(local_78,a->arg,a->count << 5);\n      }\n      a->arg = local_78;\n      goto LAB_00110f4e;\n    }\n  }" { (if_statement "if (paVar2 == a->arg) {\n      local_78 = (argument *)malloc(local_90 << 5);\n    }\n    else {\n      local_78 = (argument *)realloc(a->arg,local_90 << 5);\n    }" if (parenthesized_expression "(paVar2 == a->arg)" ( (binary_expression "paVar2 == a->arg" identifier == (field_expression "a->arg" identifier -> field_identifier)) )) (compound_statement "{\n      local_78 = (argument *)malloc(local_90 << 5);\n    }" { (expression_statement "local_78 = (argument *)malloc(local_90 << 5);" (assignment_expression "local_78 = (argument *)malloc(local_90 << 5)" identifier = (cast_expression "(argument *)malloc(local_90 << 5)" ( (type_descriptor "argument *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(local_90 << 5)" identifier (argument_list "(local_90 << 5)" ( (binary_expression "local_90 << 5" identifier << number_literal) ))))) ;) }) (else_clause "else {\n      local_78 = (argument *)realloc(a->arg,local_90 << 5);\n    }" else (compound_statement "{\n      local_78 = (argument *)realloc(a->arg,local_90 << 5);\n    }" { (expression_statement "local_78 = (argument *)realloc(a->arg,local_90 << 5);" (assignment_expression "local_78 = (argument *)realloc(a->arg,local_90 << 5)" identifier = (cast_expression "(argument *)realloc(a->arg,local_90 << 5)" ( (type_descriptor "argument *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "realloc(a->arg,local_90 << 5)" identifier (argument_list "(a->arg,local_90 << 5)" ( (field_expression "a->arg" identifier -> field_identifier) , (binary_expression "local_90 << 5" identifier << number_literal) ))))) ;) }))) (if_statement "if (local_78 != (argument *)0x0) {\n      if (paVar2 == a->arg) {\n        memcpy(local_78,a->arg,a->count << 5);\n      }\n      a->arg = local_78;\n      goto LAB_00110f4e;\n    }" if (parenthesized_expression "(local_78 != (argument *)0x0)" ( (binary_expression "local_78 != (argument *)0x0" identifier != (cast_expression "(argument *)0x0" ( (type_descriptor "argument *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (paVar2 == a->arg) {\n        memcpy(local_78,a->arg,a->count << 5);\n      }\n      a->arg = local_78;\n      goto LAB_00110f4e;\n    }" { (if_statement "if (paVar2 == a->arg) {\n        memcpy(local_78,a->arg,a->count << 5);\n      }" if (parenthesized_expression "(paVar2 == a->arg)" ( (binary_expression "paVar2 == a->arg" identifier == (field_expression "a->arg" identifier -> field_identifier)) )) (compound_statement "{\n        memcpy(local_78,a->arg,a->count << 5);\n      }" { (expression_statement "memcpy(local_78,a->arg,a->count << 5);" (call_expression "memcpy(local_78,a->arg,a->count << 5)" identifier (argument_list "(local_78,a->arg,a->count << 5)" ( identifier , (field_expression "a->arg" identifier -> field_identifier) , (binary_expression "a->count << 5" (field_expression "a->count" identifier -> field_identifier) << number_literal) ))) ;) })) (expression_statement "a->arg = local_78;" (assignment_expression "a->arg = local_78" (field_expression "a->arg" identifier -> field_identifier) = identifier) ;) (goto_statement "goto LAB_00110f4e;" goto statement_identifier ;) })) })) (goto_statement "goto LAB_00111292;" goto statement_identifier ;) (labeled_statement "LAB_0011139e:\n  format = (char *)(pbVar8 + 1);" statement_identifier : (expression_statement "format = (char *)(pbVar8 + 1);" (assignment_expression "format = (char *)(pbVar8 + 1)" identifier = (cast_expression "(char *)(pbVar8 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar8 + 1)" ( (binary_expression "pbVar8 + 1" identifier + number_literal) )))) ;)) (switch_statement "switch(bVar5) {\n  case 0x25:\n    goto switchD_001113be_caseD_25;\n  default:\n    goto switchD_001113be_caseD_26;\n  case 0x41:\n  case 0x45:\n  case 0x46:\n  case 0x47:\n  case 0x61:\n  case 0x65:\n  case 0x66:\n  case 0x67:\n    aVar6 = TYPE_LONGDOUBLE;\n    if ((int)uVar13 < 0x10) {\n      aVar6 = ((uVar13 & 4) != 0) + TYPE_DOUBLE;\n    }\n    break;\n  case 0x43:\n    aVar6 = TYPE_WIDE_CHAR;\n    bVar5 = 99;\n    break;\n  case 0x53:\n    aVar6 = TYPE_WIDE_STRING;\n    bVar5 = 0x73;\n    break;\n  case 0x58:\n  case 0x6f:\n  case 0x75:\n  case 0x78:\n    aVar6 = TYPE_ULONGLONGINT;\n    if ((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&\n       ((aVar6 = TYPE_ULONGINT, (int)uVar13 < 8 && (aVar6 = TYPE_UCHAR, (uVar13 & 2) == 0)))) {\n      aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_USHORT;\n    }\n    break;\n  case 99:\n    aVar6 = (7 < (int)uVar13) + TYPE_CHAR;\n    break;\n  case 100:\n  case 0x69:\n    aVar6 = TYPE_LONGLONGINT;\n    if (((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) && (aVar6 = TYPE_LONGINT, (int)uVar13 < 8))\n       && (aVar6 = TYPE_SCHAR, (uVar13 & 2) == 0)) {\n      aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_SHORT;\n    }\n    break;\n  case 0x6e:\n    aVar6 = TYPE_COUNT_LONGLONGINT_POINTER;\n    if ((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&\n       ((aVar6 = TYPE_COUNT_LONGINT_POINTER, (int)uVar13 < 8 &&\n        (aVar6 = TYPE_COUNT_SCHAR_POINTER, (uVar13 & 2) == 0)))) {\n      aVar6 = (uVar13 & 1 ^ 1) + TYPE_COUNT_SHORT_POINTER;\n    }\n    break;\n  case 0x70:\n    aVar6 = TYPE_POINTER;\n    break;\n  case 0x73:\n    aVar6 = (7 < (int)uVar13) + TYPE_STRING;\n  }" switch (parenthesized_expression "(bVar5)" ( identifier )) (compound_statement "{\n  case 0x25:\n    goto switchD_001113be_caseD_25;\n  default:\n    goto switchD_001113be_caseD_26;\n  case 0x41:\n  case 0x45:\n  case 0x46:\n  case 0x47:\n  case 0x61:\n  case 0x65:\n  case 0x66:\n  case 0x67:\n    aVar6 = TYPE_LONGDOUBLE;\n    if ((int)uVar13 < 0x10) {\n      aVar6 = ((uVar13 & 4) != 0) + TYPE_DOUBLE;\n    }\n    break;\n  case 0x43:\n    aVar6 = TYPE_WIDE_CHAR;\n    bVar5 = 99;\n    break;\n  case 0x53:\n    aVar6 = TYPE_WIDE_STRING;\n    bVar5 = 0x73;\n    break;\n  case 0x58:\n  case 0x6f:\n  case 0x75:\n  case 0x78:\n    aVar6 = TYPE_ULONGLONGINT;\n    if ((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&\n       ((aVar6 = TYPE_ULONGINT, (int)uVar13 < 8 && (aVar6 = TYPE_UCHAR, (uVar13 & 2) == 0)))) {\n      aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_USHORT;\n    }\n    break;\n  case 99:\n    aVar6 = (7 < (int)uVar13) + TYPE_CHAR;\n    break;\n  case 100:\n  case 0x69:\n    aVar6 = TYPE_LONGLONGINT;\n    if (((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) && (aVar6 = TYPE_LONGINT, (int)uVar13 < 8))\n       && (aVar6 = TYPE_SCHAR, (uVar13 & 2) == 0)) {\n      aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_SHORT;\n    }\n    break;\n  case 0x6e:\n    aVar6 = TYPE_COUNT_LONGLONGINT_POINTER;\n    if ((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&\n       ((aVar6 = TYPE_COUNT_LONGINT_POINTER, (int)uVar13 < 8 &&\n        (aVar6 = TYPE_COUNT_SCHAR_POINTER, (uVar13 & 2) == 0)))) {\n      aVar6 = (uVar13 & 1 ^ 1) + TYPE_COUNT_SHORT_POINTER;\n    }\n    break;\n  case 0x70:\n    aVar6 = TYPE_POINTER;\n    break;\n  case 0x73:\n    aVar6 = (7 < (int)uVar13) + TYPE_STRING;\n  }" { (case_statement "case 0x25:\n    goto switchD_001113be_caseD_25;" case number_literal : (goto_statement "goto switchD_001113be_caseD_25;" goto statement_identifier ;)) (case_statement "default:\n    goto switchD_001113be_caseD_26;" default : (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) (case_statement "case 0x41:" case number_literal :) (case_statement "case 0x45:" case number_literal :) (case_statement "case 0x46:" case number_literal :) (case_statement "case 0x47:" case number_literal :) (case_statement "case 0x61:" case number_literal :) (case_statement "case 0x65:" case number_literal :) (case_statement "case 0x66:" case number_literal :) (case_statement "case 0x67:\n    aVar6 = TYPE_LONGDOUBLE;\n    if ((int)uVar13 < 0x10) {\n      aVar6 = ((uVar13 & 4) != 0) + TYPE_DOUBLE;\n    }\n    break;" case number_literal : (expression_statement "aVar6 = TYPE_LONGDOUBLE;" (assignment_expression "aVar6 = TYPE_LONGDOUBLE" identifier = identifier) ;) (if_statement "if ((int)uVar13 < 0x10) {\n      aVar6 = ((uVar13 & 4) != 0) + TYPE_DOUBLE;\n    }" if (parenthesized_expression "((int)uVar13 < 0x10)" ( (binary_expression "(int)uVar13 < 0x10" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      aVar6 = ((uVar13 & 4) != 0) + TYPE_DOUBLE;\n    }" { (expression_statement "aVar6 = ((uVar13 & 4) != 0) + TYPE_DOUBLE;" (assignment_expression "aVar6 = ((uVar13 & 4) != 0) + TYPE_DOUBLE" identifier = (binary_expression "((uVar13 & 4) != 0) + TYPE_DOUBLE" (parenthesized_expression "((uVar13 & 4) != 0)" ( (binary_expression "(uVar13 & 4) != 0" (parenthesized_expression "(uVar13 & 4)" ( (binary_expression "uVar13 & 4" identifier & number_literal) )) != number_literal) )) + identifier)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x43:\n    aVar6 = TYPE_WIDE_CHAR;\n    bVar5 = 99;\n    break;" case number_literal : (expression_statement "aVar6 = TYPE_WIDE_CHAR;" (assignment_expression "aVar6 = TYPE_WIDE_CHAR" identifier = identifier) ;) (expression_statement "bVar5 = 99;" (assignment_expression "bVar5 = 99" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x53:\n    aVar6 = TYPE_WIDE_STRING;\n    bVar5 = 0x73;\n    break;" case number_literal : (expression_statement "aVar6 = TYPE_WIDE_STRING;" (assignment_expression "aVar6 = TYPE_WIDE_STRING" identifier = identifier) ;) (expression_statement "bVar5 = 0x73;" (assignment_expression "bVar5 = 0x73" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x58:" case number_literal :) (case_statement "case 0x6f:" case number_literal :) (case_statement "case 0x75:" case number_literal :) (case_statement "case 0x78:\n    aVar6 = TYPE_ULONGLONGINT;\n    if ((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&\n       ((aVar6 = TYPE_ULONGINT, (int)uVar13 < 8 && (aVar6 = TYPE_UCHAR, (uVar13 & 2) == 0)))) {\n      aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_USHORT;\n    }\n    break;" case number_literal : (expression_statement "aVar6 = TYPE_ULONGLONGINT;" (assignment_expression "aVar6 = TYPE_ULONGLONGINT" identifier = identifier) ;) (if_statement "if ((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&\n       ((aVar6 = TYPE_ULONGINT, (int)uVar13 < 8 && (aVar6 = TYPE_UCHAR, (uVar13 & 2) == 0)))) {\n      aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_USHORT;\n    }" if (parenthesized_expression "((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&\n       ((aVar6 = TYPE_ULONGINT, (int)uVar13 < 8 && (aVar6 = TYPE_UCHAR, (uVar13 & 2) == 0))))" ( (binary_expression "(((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&\n       ((aVar6 = TYPE_ULONGINT, (int)uVar13 < 8 && (aVar6 = TYPE_UCHAR, (uVar13 & 2) == 0)))" (parenthesized_expression "(((int)uVar13 < 0x10) && ((uVar13 & 4) == 0))" ( (binary_expression "((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)" (parenthesized_expression "((int)uVar13 < 0x10)" ( (binary_expression "(int)uVar13 < 0x10" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "((uVar13 & 4) == 0)" ( (binary_expression "(uVar13 & 4) == 0" (parenthesized_expression "(uVar13 & 4)" ( (binary_expression "uVar13 & 4" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((aVar6 = TYPE_ULONGINT, (int)uVar13 < 8 && (aVar6 = TYPE_UCHAR, (uVar13 & 2) == 0)))" ( (parenthesized_expression "(aVar6 = TYPE_ULONGINT, (int)uVar13 < 8 && (aVar6 = TYPE_UCHAR, (uVar13 & 2) == 0))" ( (comma_expression "aVar6 = TYPE_ULONGINT, (int)uVar13 < 8 && (aVar6 = TYPE_UCHAR, (uVar13 & 2) == 0)" (assignment_expression "aVar6 = TYPE_ULONGINT" identifier = identifier) , (binary_expression "(int)uVar13 < 8 && (aVar6 = TYPE_UCHAR, (uVar13 & 2) == 0)" (binary_expression "(int)uVar13 < 8" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) && (parenthesized_expression "(aVar6 = TYPE_UCHAR, (uVar13 & 2) == 0)" ( (comma_expression "aVar6 = TYPE_UCHAR, (uVar13 & 2) == 0" (assignment_expression "aVar6 = TYPE_UCHAR" identifier = identifier) , (binary_expression "(uVar13 & 2) == 0" (parenthesized_expression "(uVar13 & 2)" ( (binary_expression "uVar13 & 2" identifier & number_literal) )) == number_literal)) )))) )) ))) )) (compound_statement "{\n      aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_USHORT;\n    }" { (expression_statement "aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_USHORT;" (assignment_expression "aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_USHORT" identifier = (binary_expression "(-(uint)((uVar13 & 1) == 0) & 2) + TYPE_USHORT" (parenthesized_expression "(-(uint)((uVar13 & 1) == 0) & 2)" ( (binary_expression "-(uint)((uVar13 & 1) == 0) & 2" (unary_expression "-(uint)((uVar13 & 1) == 0)" - (call_expression "(uint)((uVar13 & 1) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar13 & 1) == 0)" ( (binary_expression "(uVar13 & 1) == 0" (parenthesized_expression "(uVar13 & 1)" ( (binary_expression "uVar13 & 1" identifier & number_literal) )) == number_literal) )))) & number_literal) )) + identifier)) ;) })) (break_statement "break;" break ;)) (case_statement "case 99:\n    aVar6 = (7 < (int)uVar13) + TYPE_CHAR;\n    break;" case number_literal : (expression_statement "aVar6 = (7 < (int)uVar13) + TYPE_CHAR;" (assignment_expression "aVar6 = (7 < (int)uVar13) + TYPE_CHAR" identifier = (binary_expression "(7 < (int)uVar13) + TYPE_CHAR" (parenthesized_expression "(7 < (int)uVar13)" ( (binary_expression "7 < (int)uVar13" number_literal < (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) + identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 100:" case number_literal :) (case_statement "case 0x69:\n    aVar6 = TYPE_LONGLONGINT;\n    if (((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) && (aVar6 = TYPE_LONGINT, (int)uVar13 < 8))\n       && (aVar6 = TYPE_SCHAR, (uVar13 & 2) == 0)) {\n      aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_SHORT;\n    }\n    break;" case number_literal : (expression_statement "aVar6 = TYPE_LONGLONGINT;" (assignment_expression "aVar6 = TYPE_LONGLONGINT" identifier = identifier) ;) (if_statement "if (((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) && (aVar6 = TYPE_LONGINT, (int)uVar13 < 8))\n       && (aVar6 = TYPE_SCHAR, (uVar13 & 2) == 0)) {\n      aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_SHORT;\n    }" if (parenthesized_expression "(((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) && (aVar6 = TYPE_LONGINT, (int)uVar13 < 8))\n       && (aVar6 = TYPE_SCHAR, (uVar13 & 2) == 0))" ( (binary_expression "((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) && (aVar6 = TYPE_LONGINT, (int)uVar13 < 8))\n       && (aVar6 = TYPE_SCHAR, (uVar13 & 2) == 0)" (parenthesized_expression "((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) && (aVar6 = TYPE_LONGINT, (int)uVar13 < 8))" ( (binary_expression "(((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) && (aVar6 = TYPE_LONGINT, (int)uVar13 < 8)" (parenthesized_expression "(((int)uVar13 < 0x10) && ((uVar13 & 4) == 0))" ( (binary_expression "((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)" (parenthesized_expression "((int)uVar13 < 0x10)" ( (binary_expression "(int)uVar13 < 0x10" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "((uVar13 & 4) == 0)" ( (binary_expression "(uVar13 & 4) == 0" (parenthesized_expression "(uVar13 & 4)" ( (binary_expression "uVar13 & 4" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(aVar6 = TYPE_LONGINT, (int)uVar13 < 8)" ( (comma_expression "aVar6 = TYPE_LONGINT, (int)uVar13 < 8" (assignment_expression "aVar6 = TYPE_LONGINT" identifier = identifier) , (binary_expression "(int)uVar13 < 8" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ))) )) && (parenthesized_expression "(aVar6 = TYPE_SCHAR, (uVar13 & 2) == 0)" ( (comma_expression "aVar6 = TYPE_SCHAR, (uVar13 & 2) == 0" (assignment_expression "aVar6 = TYPE_SCHAR" identifier = identifier) , (binary_expression "(uVar13 & 2) == 0" (parenthesized_expression "(uVar13 & 2)" ( (binary_expression "uVar13 & 2" identifier & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n      aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_SHORT;\n    }" { (expression_statement "aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_SHORT;" (assignment_expression "aVar6 = (-(uint)((uVar13 & 1) == 0) & 2) + TYPE_SHORT" identifier = (binary_expression "(-(uint)((uVar13 & 1) == 0) & 2) + TYPE_SHORT" (parenthesized_expression "(-(uint)((uVar13 & 1) == 0) & 2)" ( (binary_expression "-(uint)((uVar13 & 1) == 0) & 2" (unary_expression "-(uint)((uVar13 & 1) == 0)" - (call_expression "(uint)((uVar13 & 1) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar13 & 1) == 0)" ( (binary_expression "(uVar13 & 1) == 0" (parenthesized_expression "(uVar13 & 1)" ( (binary_expression "uVar13 & 1" identifier & number_literal) )) == number_literal) )))) & number_literal) )) + identifier)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x6e:\n    aVar6 = TYPE_COUNT_LONGLONGINT_POINTER;\n    if ((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&\n       ((aVar6 = TYPE_COUNT_LONGINT_POINTER, (int)uVar13 < 8 &&\n        (aVar6 = TYPE_COUNT_SCHAR_POINTER, (uVar13 & 2) == 0)))) {\n      aVar6 = (uVar13 & 1 ^ 1) + TYPE_COUNT_SHORT_POINTER;\n    }\n    break;" case number_literal : (expression_statement "aVar6 = TYPE_COUNT_LONGLONGINT_POINTER;" (assignment_expression "aVar6 = TYPE_COUNT_LONGLONGINT_POINTER" identifier = identifier) ;) (if_statement "if ((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&\n       ((aVar6 = TYPE_COUNT_LONGINT_POINTER, (int)uVar13 < 8 &&\n        (aVar6 = TYPE_COUNT_SCHAR_POINTER, (uVar13 & 2) == 0)))) {\n      aVar6 = (uVar13 & 1 ^ 1) + TYPE_COUNT_SHORT_POINTER;\n    }" if (parenthesized_expression "((((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&\n       ((aVar6 = TYPE_COUNT_LONGINT_POINTER, (int)uVar13 < 8 &&\n        (aVar6 = TYPE_COUNT_SCHAR_POINTER, (uVar13 & 2) == 0))))" ( (binary_expression "(((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)) &&\n       ((aVar6 = TYPE_COUNT_LONGINT_POINTER, (int)uVar13 < 8 &&\n        (aVar6 = TYPE_COUNT_SCHAR_POINTER, (uVar13 & 2) == 0)))" (parenthesized_expression "(((int)uVar13 < 0x10) && ((uVar13 & 4) == 0))" ( (binary_expression "((int)uVar13 < 0x10) && ((uVar13 & 4) == 0)" (parenthesized_expression "((int)uVar13 < 0x10)" ( (binary_expression "(int)uVar13 < 0x10" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "((uVar13 & 4) == 0)" ( (binary_expression "(uVar13 & 4) == 0" (parenthesized_expression "(uVar13 & 4)" ( (binary_expression "uVar13 & 4" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((aVar6 = TYPE_COUNT_LONGINT_POINTER, (int)uVar13 < 8 &&\n        (aVar6 = TYPE_COUNT_SCHAR_POINTER, (uVar13 & 2) == 0)))" ( (parenthesized_expression "(aVar6 = TYPE_COUNT_LONGINT_POINTER, (int)uVar13 < 8 &&\n        (aVar6 = TYPE_COUNT_SCHAR_POINTER, (uVar13 & 2) == 0))" ( (comma_expression "aVar6 = TYPE_COUNT_LONGINT_POINTER, (int)uVar13 < 8 &&\n        (aVar6 = TYPE_COUNT_SCHAR_POINTER, (uVar13 & 2) == 0)" (assignment_expression "aVar6 = TYPE_COUNT_LONGINT_POINTER" identifier = identifier) , (binary_expression "(int)uVar13 < 8 &&\n        (aVar6 = TYPE_COUNT_SCHAR_POINTER, (uVar13 & 2) == 0)" (binary_expression "(int)uVar13 < 8" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) && (parenthesized_expression "(aVar6 = TYPE_COUNT_SCHAR_POINTER, (uVar13 & 2) == 0)" ( (comma_expression "aVar6 = TYPE_COUNT_SCHAR_POINTER, (uVar13 & 2) == 0" (assignment_expression "aVar6 = TYPE_COUNT_SCHAR_POINTER" identifier = identifier) , (binary_expression "(uVar13 & 2) == 0" (parenthesized_expression "(uVar13 & 2)" ( (binary_expression "uVar13 & 2" identifier & number_literal) )) == number_literal)) )))) )) ))) )) (compound_statement "{\n      aVar6 = (uVar13 & 1 ^ 1) + TYPE_COUNT_SHORT_POINTER;\n    }" { (expression_statement "aVar6 = (uVar13 & 1 ^ 1) + TYPE_COUNT_SHORT_POINTER;" (assignment_expression "aVar6 = (uVar13 & 1 ^ 1) + TYPE_COUNT_SHORT_POINTER" identifier = (binary_expression "(uVar13 & 1 ^ 1) + TYPE_COUNT_SHORT_POINTER" (parenthesized_expression "(uVar13 & 1 ^ 1)" ( (binary_expression "uVar13 & 1 ^ 1" (binary_expression "uVar13 & 1" identifier & number_literal) ^ number_literal) )) + identifier)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x70:\n    aVar6 = TYPE_POINTER;\n    break;" case number_literal : (expression_statement "aVar6 = TYPE_POINTER;" (assignment_expression "aVar6 = TYPE_POINTER" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x73:\n    aVar6 = (7 < (int)uVar13) + TYPE_STRING;" case number_literal : (expression_statement "aVar6 = (7 < (int)uVar13) + TYPE_STRING;" (assignment_expression "aVar6 = (7 < (int)uVar13) + TYPE_STRING" identifier = (binary_expression "(7 < (int)uVar13) + TYPE_STRING" (parenthesized_expression "(7 < (int)uVar13)" ( (binary_expression "7 < (int)uVar13" number_literal < (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) + identifier)) ;)) })) (if_statement "if (sVar16 == 0xffffffffffffffff) {\n    pcVar14->arg_index = local_60;\n    bVar18 = local_60 == 0xffffffffffffffff;\n    local_60 = local_60 + 1;\n    if (bVar18) goto switchD_001113be_caseD_26;\n  }\n  else {\n    pcVar14->arg_index = sVar16;\n  }" if (parenthesized_expression "(sVar16 == 0xffffffffffffffff)" ( (binary_expression "sVar16 == 0xffffffffffffffff" identifier == number_literal) )) (compound_statement "{\n    pcVar14->arg_index = local_60;\n    bVar18 = local_60 == 0xffffffffffffffff;\n    local_60 = local_60 + 1;\n    if (bVar18) goto switchD_001113be_caseD_26;\n  }" { (expression_statement "pcVar14->arg_index = local_60;" (assignment_expression "pcVar14->arg_index = local_60" (field_expression "pcVar14->arg_index" identifier -> field_identifier) = identifier) ;) (expression_statement "bVar18 = local_60 == 0xffffffffffffffff;" (assignment_expression "bVar18 = local_60 == 0xffffffffffffffff" identifier = (binary_expression "local_60 == 0xffffffffffffffff" identifier == number_literal)) ;) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" identifier = (binary_expression "local_60 + 1" identifier + number_literal)) ;) (if_statement "if (bVar18) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(bVar18)" ( identifier )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) }) (else_clause "else {\n    pcVar14->arg_index = sVar16;\n  }" else (compound_statement "{\n    pcVar14->arg_index = sVar16;\n  }" { (expression_statement "pcVar14->arg_index = sVar16;" (assignment_expression "pcVar14->arg_index = sVar16" (field_expression "pcVar14->arg_index" identifier -> field_identifier) = identifier) ;) }))) (expression_statement "uVar17 = pcVar14->arg_index;" (assignment_expression "uVar17 = pcVar14->arg_index" identifier = (field_expression "pcVar14->arg_index" identifier -> field_identifier)) ;) (if_statement "if (uVar17 < local_90) {\nLAB_001115b1:\n    uVar12 = a->count;\n    while (uVar12 <= uVar17) {\n      a->count = uVar12 + 1;\n      a->arg[uVar12].type = TYPE_NONE;\n      uVar12 = a->count;\n    }\n    aVar4 = a->arg[uVar17].type;\n    if (aVar4 == TYPE_NONE) {\n      a->arg[uVar17].type = aVar6;\n    }\n    else if (aVar4 != aVar6) goto switchD_001113be_caseD_26;\nswitchD_001113be_caseD_25:\n    pcVar14->conversion = bVar5;\n    pcVar14->dir_end = format;\n    uVar17 = d->count + 1;\n    d->count = uVar17;\n    if (uVar17 < local_68) goto LAB_00110cf5;\n    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;\n    pcVar14 = d->dir;\n    if (pcVar1 != pcVar14) {\n      __dest = (char_directive *)realloc(pcVar14,local_68 * 0xb0);\n      if (__dest == (char_directive *)0x0) goto LAB_00111292;\n      pcVar14 = d->dir;\n      if (pcVar1 != pcVar14) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,pcVar14,d->count * 0x58);\nLAB_0011166e:\n      d->dir = __dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }\n    __dest = (char_directive *)malloc(local_68 * 0xb0);\n    if (__dest != (char_directive *)0x0) goto LAB_00111732;\n    paVar15 = a->arg;\n    if (paVar2 == paVar15) goto LAB_001112b2;\n    goto LAB_0011129d;\n  }" if (parenthesized_expression "(uVar17 < local_90)" ( (binary_expression "uVar17 < local_90" identifier < identifier) )) (compound_statement "{\nLAB_001115b1:\n    uVar12 = a->count;\n    while (uVar12 <= uVar17) {\n      a->count = uVar12 + 1;\n      a->arg[uVar12].type = TYPE_NONE;\n      uVar12 = a->count;\n    }\n    aVar4 = a->arg[uVar17].type;\n    if (aVar4 == TYPE_NONE) {\n      a->arg[uVar17].type = aVar6;\n    }\n    else if (aVar4 != aVar6) goto switchD_001113be_caseD_26;\nswitchD_001113be_caseD_25:\n    pcVar14->conversion = bVar5;\n    pcVar14->dir_end = format;\n    uVar17 = d->count + 1;\n    d->count = uVar17;\n    if (uVar17 < local_68) goto LAB_00110cf5;\n    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;\n    pcVar14 = d->dir;\n    if (pcVar1 != pcVar14) {\n      __dest = (char_directive *)realloc(pcVar14,local_68 * 0xb0);\n      if (__dest == (char_directive *)0x0) goto LAB_00111292;\n      pcVar14 = d->dir;\n      if (pcVar1 != pcVar14) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,pcVar14,d->count * 0x58);\nLAB_0011166e:\n      d->dir = __dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }\n    __dest = (char_directive *)malloc(local_68 * 0xb0);\n    if (__dest != (char_directive *)0x0) goto LAB_00111732;\n    paVar15 = a->arg;\n    if (paVar2 == paVar15) goto LAB_001112b2;\n    goto LAB_0011129d;\n  }" { (labeled_statement "LAB_001115b1:\n    uVar12 = a->count;" statement_identifier : (expression_statement "uVar12 = a->count;" (assignment_expression "uVar12 = a->count" identifier = (field_expression "a->count" identifier -> field_identifier)) ;)) (while_statement "while (uVar12 <= uVar17) {\n      a->count = uVar12 + 1;\n      a->arg[uVar12].type = TYPE_NONE;\n      uVar12 = a->count;\n    }" while (parenthesized_expression "(uVar12 <= uVar17)" ( (binary_expression "uVar12 <= uVar17" identifier <= identifier) )) (compound_statement "{\n      a->count = uVar12 + 1;\n      a->arg[uVar12].type = TYPE_NONE;\n      uVar12 = a->count;\n    }" { (expression_statement "a->count = uVar12 + 1;" (assignment_expression "a->count = uVar12 + 1" (field_expression "a->count" identifier -> field_identifier) = (binary_expression "uVar12 + 1" identifier + number_literal)) ;) (expression_statement "a->arg[uVar12].type = TYPE_NONE;" (assignment_expression "a->arg[uVar12].type = TYPE_NONE" (field_expression "a->arg[uVar12].type" (subscript_expression "a->arg[uVar12]" (field_expression "a->arg" identifier -> field_identifier) [ identifier ]) . field_identifier) = identifier) ;) (expression_statement "uVar12 = a->count;" (assignment_expression "uVar12 = a->count" identifier = (field_expression "a->count" identifier -> field_identifier)) ;) })) (expression_statement "aVar4 = a->arg[uVar17].type;" (assignment_expression "aVar4 = a->arg[uVar17].type" identifier = (field_expression "a->arg[uVar17].type" (subscript_expression "a->arg[uVar17]" (field_expression "a->arg" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (if_statement "if (aVar4 == TYPE_NONE) {\n      a->arg[uVar17].type = aVar6;\n    }\n    else if (aVar4 != aVar6) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(aVar4 == TYPE_NONE)" ( (binary_expression "aVar4 == TYPE_NONE" identifier == identifier) )) (compound_statement "{\n      a->arg[uVar17].type = aVar6;\n    }" { (expression_statement "a->arg[uVar17].type = aVar6;" (assignment_expression "a->arg[uVar17].type = aVar6" (field_expression "a->arg[uVar17].type" (subscript_expression "a->arg[uVar17]" (field_expression "a->arg" identifier -> field_identifier) [ identifier ]) . field_identifier) = identifier) ;) }) (else_clause "else if (aVar4 != aVar6) goto switchD_001113be_caseD_26;" else (if_statement "if (aVar4 != aVar6) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(aVar4 != aVar6)" ( (binary_expression "aVar4 != aVar6" identifier != identifier) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)))) (labeled_statement "switchD_001113be_caseD_25:\n    pcVar14->conversion = bVar5;" statement_identifier : (expression_statement "pcVar14->conversion = bVar5;" (assignment_expression "pcVar14->conversion = bVar5" (field_expression "pcVar14->conversion" identifier -> field_identifier) = identifier) ;)) (expression_statement "pcVar14->dir_end = format;" (assignment_expression "pcVar14->dir_end = format" (field_expression "pcVar14->dir_end" identifier -> field_identifier) = identifier) ;) (expression_statement "uVar17 = d->count + 1;" (assignment_expression "uVar17 = d->count + 1" identifier = (binary_expression "d->count + 1" (field_expression "d->count" identifier -> field_identifier) + number_literal)) ;) (expression_statement "d->count = uVar17;" (assignment_expression "d->count = uVar17" (field_expression "d->count" identifier -> field_identifier) = identifier) ;) (if_statement "if (uVar17 < local_68) goto LAB_00110cf5;" if (parenthesized_expression "(uVar17 < local_68)" ( (binary_expression "uVar17 < local_68" identifier < identifier) )) (goto_statement "goto LAB_00110cf5;" goto statement_identifier ;)) (if_statement "if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;" if (parenthesized_expression "(((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2))" ( (binary_expression "((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)" (parenthesized_expression "((long)local_68 < 0)" ( (binary_expression "(long)local_68 < 0" (cast_expression "(long)local_68" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < number_literal) )) || (parenthesized_expression "(0x2e8ba2e8ba2e8ba < local_68 * 2)" ( (binary_expression "0x2e8ba2e8ba2e8ba < local_68 * 2" number_literal < (binary_expression "local_68 * 2" identifier * number_literal)) ))) )) (goto_statement "goto LAB_00111292;" goto statement_identifier ;)) (expression_statement "pcVar14 = d->dir;" (assignment_expression "pcVar14 = d->dir" identifier = (field_expression "d->dir" identifier -> field_identifier)) ;) (if_statement "if (pcVar1 != pcVar14) {\n      __dest = (char_directive *)realloc(pcVar14,local_68 * 0xb0);\n      if (__dest == (char_directive *)0x0) goto LAB_00111292;\n      pcVar14 = d->dir;\n      if (pcVar1 != pcVar14) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,pcVar14,d->count * 0x58);\nLAB_0011166e:\n      d->dir = __dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }" if (parenthesized_expression "(pcVar1 != pcVar14)" ( (binary_expression "pcVar1 != pcVar14" identifier != identifier) )) (compound_statement "{\n      __dest = (char_directive *)realloc(pcVar14,local_68 * 0xb0);\n      if (__dest == (char_directive *)0x0) goto LAB_00111292;\n      pcVar14 = d->dir;\n      if (pcVar1 != pcVar14) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,pcVar14,d->count * 0x58);\nLAB_0011166e:\n      d->dir = __dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }" { (expression_statement "__dest = (char_directive *)realloc(pcVar14,local_68 * 0xb0);" (assignment_expression "__dest = (char_directive *)realloc(pcVar14,local_68 * 0xb0)" identifier = (cast_expression "(char_directive *)realloc(pcVar14,local_68 * 0xb0)" ( (type_descriptor "char_directive *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "realloc(pcVar14,local_68 * 0xb0)" identifier (argument_list "(pcVar14,local_68 * 0xb0)" ( identifier , (binary_expression "local_68 * 0xb0" identifier * number_literal) ))))) ;) (if_statement "if (__dest == (char_directive *)0x0) goto LAB_00111292;" if (parenthesized_expression "(__dest == (char_directive *)0x0)" ( (binary_expression "__dest == (char_directive *)0x0" identifier == (cast_expression "(char_directive *)0x0" ( (type_descriptor "char_directive *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00111292;" goto statement_identifier ;)) (expression_statement "pcVar14 = d->dir;" (assignment_expression "pcVar14 = d->dir" identifier = (field_expression "d->dir" identifier -> field_identifier)) ;) (if_statement "if (pcVar1 != pcVar14) goto LAB_0011166e;" if (parenthesized_expression "(pcVar1 != pcVar14)" ( (binary_expression "pcVar1 != pcVar14" identifier != identifier) )) (goto_statement "goto LAB_0011166e;" goto statement_identifier ;)) (labeled_statement "LAB_00111732:\n      memcpy(__dest,pcVar14,d->count * 0x58);" statement_identifier : (expression_statement "memcpy(__dest,pcVar14,d->count * 0x58);" (call_expression "memcpy(__dest,pcVar14,d->count * 0x58)" identifier (argument_list "(__dest,pcVar14,d->count * 0x58)" ( identifier , identifier , (binary_expression "d->count * 0x58" (field_expression "d->count" identifier -> field_identifier) * number_literal) ))) ;)) (labeled_statement "LAB_0011166e:\n      d->dir = __dest;" statement_identifier : (expression_statement "d->dir = __dest;" (assignment_expression "d->dir = __dest" (field_expression "d->dir" identifier -> field_identifier) = identifier) ;)) (expression_statement "local_68 = local_68 * 2;" (assignment_expression "local_68 = local_68 * 2" identifier = (binary_expression "local_68 * 2" identifier * number_literal)) ;) (goto_statement "goto LAB_00110cf5;" goto statement_identifier ;) })) (expression_statement "__dest = (char_directive *)malloc(local_68 * 0xb0);" (assignment_expression "__dest = (char_directive *)malloc(local_68 * 0xb0)" identifier = (cast_expression "(char_directive *)malloc(local_68 * 0xb0)" ( (type_descriptor "char_directive *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(local_68 * 0xb0)" identifier (argument_list "(local_68 * 0xb0)" ( (binary_expression "local_68 * 0xb0" identifier * number_literal) ))))) ;) (if_statement "if (__dest != (char_directive *)0x0) goto LAB_00111732;" if (parenthesized_expression "(__dest != (char_directive *)0x0)" ( (binary_expression "__dest != (char_directive *)0x0" identifier != (cast_expression "(char_directive *)0x0" ( (type_descriptor "char_directive *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00111732;" goto statement_identifier ;)) (expression_statement "paVar15 = a->arg;" (assignment_expression "paVar15 = a->arg" identifier = (field_expression "a->arg" identifier -> field_identifier)) ;) (if_statement "if (paVar2 == paVar15) goto LAB_001112b2;" if (parenthesized_expression "(paVar2 == paVar15)" ( (binary_expression "paVar2 == paVar15" identifier == identifier) )) (goto_statement "goto LAB_001112b2;" goto statement_identifier ;)) (goto_statement "goto LAB_0011129d;" goto statement_identifier ;) })) (if_statement "if ((((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar17 && (local_90 = uVar17 + 1, local_90 < uVar17))))\n     || (0x7ffffffffffffff < local_90)) goto LAB_00111292;" if (parenthesized_expression "((((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar17 && (local_90 = uVar17 + 1, local_90 < uVar17))))\n     || (0x7ffffffffffffff < local_90))" ( (binary_expression "(((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar17 && (local_90 = uVar17 + 1, local_90 < uVar17))))\n     || (0x7ffffffffffffff < local_90)" (parenthesized_expression "(((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar17 && (local_90 = uVar17 + 1, local_90 < uVar17))))" ( (binary_expression "((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar17 && (local_90 = uVar17 + 1, local_90 < uVar17)))" (parenthesized_expression "((long)local_90 < 0)" ( (binary_expression "(long)local_90 < 0" (cast_expression "(long)local_90" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < number_literal) )) || (parenthesized_expression "((local_90 = local_90 * 2, local_90 <= uVar17 && (local_90 = uVar17 + 1, local_90 < uVar17)))" ( (parenthesized_expression "(local_90 = local_90 * 2, local_90 <= uVar17 && (local_90 = uVar17 + 1, local_90 < uVar17))" ( (comma_expression "local_90 = local_90 * 2, local_90 <= uVar17 && (local_90 = uVar17 + 1, local_90 < uVar17)" (assignment_expression "local_90 = local_90 * 2" identifier = (binary_expression "local_90 * 2" identifier * number_literal)) , (binary_expression "local_90 <= uVar17 && (local_90 = uVar17 + 1, local_90 < uVar17)" (binary_expression "local_90 <= uVar17" identifier <= identifier) && (parenthesized_expression "(local_90 = uVar17 + 1, local_90 < uVar17)" ( (comma_expression "local_90 = uVar17 + 1, local_90 < uVar17" (assignment_expression "local_90 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) , (binary_expression "local_90 < uVar17" identifier < identifier)) )))) )) ))) )) || (parenthesized_expression "(0x7ffffffffffffff < local_90)" ( (binary_expression "0x7ffffffffffffff < local_90" number_literal < identifier) ))) )) (goto_statement "goto LAB_00111292;" goto statement_identifier ;)) (expression_statement "local_48 = a->arg;" (assignment_expression "local_48 = a->arg" identifier = (field_expression "a->arg" identifier -> field_identifier)) ;) (if_statement "if (paVar2 != local_48) {\n    local_40 = (argument *)realloc(local_48,local_90 << 5);\n    if (local_40 != (argument *)0x0) {\n      local_48 = a->arg;\n      if (paVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }\n    goto LAB_00111292;\n  }" if (parenthesized_expression "(paVar2 != local_48)" ( (binary_expression "paVar2 != local_48" identifier != identifier) )) (compound_statement "{\n    local_40 = (argument *)realloc(local_48,local_90 << 5);\n    if (local_40 != (argument *)0x0) {\n      local_48 = a->arg;\n      if (paVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }\n    goto LAB_00111292;\n  }" { (expression_statement "local_40 = (argument *)realloc(local_48,local_90 << 5);" (assignment_expression "local_40 = (argument *)realloc(local_48,local_90 << 5)" identifier = (cast_expression "(argument *)realloc(local_48,local_90 << 5)" ( (type_descriptor "argument *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "realloc(local_48,local_90 << 5)" identifier (argument_list "(local_48,local_90 << 5)" ( identifier , (binary_expression "local_90 << 5" identifier << number_literal) ))))) ;) (if_statement "if (local_40 != (argument *)0x0) {\n      local_48 = a->arg;\n      if (paVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }" if (parenthesized_expression "(local_40 != (argument *)0x0)" ( (binary_expression "local_40 != (argument *)0x0" identifier != (cast_expression "(argument *)0x0" ( (type_descriptor "argument *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_48 = a->arg;\n      if (paVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }" { (expression_statement "local_48 = a->arg;" (assignment_expression "local_48 = a->arg" identifier = (field_expression "a->arg" identifier -> field_identifier)) ;) (if_statement "if (paVar2 == local_48) goto LAB_001116c7;" if (parenthesized_expression "(paVar2 == local_48)" ( (binary_expression "paVar2 == local_48" identifier == identifier) )) (goto_statement "goto LAB_001116c7;" goto statement_identifier ;)) (goto_statement "goto LAB_001115a8;" goto statement_identifier ;) })) (goto_statement "goto LAB_00111292;" goto statement_identifier ;) })) (expression_statement "local_40 = (argument *)malloc(local_90 << 5);" (assignment_expression "local_40 = (argument *)malloc(local_90 << 5)" identifier = (cast_expression "(argument *)malloc(local_90 << 5)" ( (type_descriptor "argument *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(local_90 << 5)" identifier (argument_list "(local_90 << 5)" ( (binary_expression "local_90 << 5" identifier << number_literal) ))))) ;) (if_statement "if (local_40 != (argument *)0x0) {\nLAB_001116c7:\n    memcpy(local_40,local_48,a->count << 5);\nLAB_001115a8:\n    a->arg = local_40;\n    goto LAB_001115b1;\n  }" if (parenthesized_expression "(local_40 != (argument *)0x0)" ( (binary_expression "local_40 != (argument *)0x0" identifier != (cast_expression "(argument *)0x0" ( (type_descriptor "argument *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001116c7:\n    memcpy(local_40,local_48,a->count << 5);\nLAB_001115a8:\n    a->arg = local_40;\n    goto LAB_001115b1;\n  }" { (labeled_statement "LAB_001116c7:\n    memcpy(local_40,local_48,a->count << 5);" statement_identifier : (expression_statement "memcpy(local_40,local_48,a->count << 5);" (call_expression "memcpy(local_40,local_48,a->count << 5)" identifier (argument_list "(local_40,local_48,a->count << 5)" ( identifier , identifier , (binary_expression "a->count << 5" (field_expression "a->count" identifier -> field_identifier) << number_literal) ))) ;)) (labeled_statement "LAB_001115a8:\n    a->arg = local_40;" statement_identifier : (expression_statement "a->arg = local_40;" (assignment_expression "a->arg = local_40" (field_expression "a->arg" identifier -> field_identifier) = identifier) ;)) (goto_statement "goto LAB_001115b1;" goto statement_identifier ;) })) (goto_statement "goto LAB_001112a2;" goto statement_identifier ;) (labeled_statement "LAB_00111244:\n  uVar12 = uVar12 - 1;" statement_identifier : (expression_statement "uVar12 = uVar12 - 1;" (assignment_expression "uVar12 = uVar12 - 1" identifier = (binary_expression "uVar12 - 1" identifier - number_literal)) ;)) (if_statement "if (0xfffffffffffffffd < uVar12) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(0xfffffffffffffffd < uVar12)" ( (binary_expression "0xfffffffffffffffd < uVar12" number_literal < identifier) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) (expression_statement "pcVar14->precision_arg_index = uVar12;" (assignment_expression "pcVar14->precision_arg_index = uVar12" (field_expression "pcVar14->precision_arg_index" identifier -> field_identifier) = identifier) ;) (expression_statement "pbVar8 = pbVar7 + 2;" (assignment_expression "pbVar8 = pbVar7 + 2" identifier = (binary_expression "pbVar7 + 2" identifier + number_literal)) ;) (labeled_statement "LAB_0011110c:\n  uVar12 = pcVar14->precision_arg_index;" statement_identifier : (expression_statement "uVar12 = pcVar14->precision_arg_index;" (assignment_expression "uVar12 = pcVar14->precision_arg_index" identifier = (field_expression "pcVar14->precision_arg_index" identifier -> field_identifier)) ;)) (if_statement "if (uVar12 < local_90) {\nLAB_0011118d:\n    uVar10 = a->count;\n    while (uVar10 <= uVar12) {\n      a->count = uVar10 + 1;\n      a->arg[uVar10].type = TYPE_NONE;\n      uVar10 = a->count;\n    }\n    aVar6 = a->arg[uVar12].type;\n    if (aVar6 == TYPE_NONE) {\n      a->arg[uVar12].type = TYPE_INT;\n    }\n    else if (aVar6 != TYPE_INT) {\nswitchD_001113be_caseD_26:\n      if (paVar2 != a->arg) {\n        free(a->arg);\n      }\n      if (pcVar1 != d->dir) {\n        free(d->dir);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return L'\xffffffff';\n    }\nLAB_00110e6f:\n    local_70 = uVar17;\n    uVar13 = 0;\n    do {\n      bVar5 = *pbVar8;\n      if (bVar5 == 0x68) {\n        uVar13 = uVar13 | 1 << ((byte)uVar13 & 1);\n      }\n      else if (bVar5 == 0x4c) {\n        uVar13 = uVar13 | 4;\n      }\n      else if (bVar5 == 0x6c) {\n        uVar13 = uVar13 + 8;\n      }\n      else if (bVar5 == 0x6a) {\n        uVar13 = uVar13 + 8;\n      }\n      else if ((bVar5 & 0xdf) == 0x5a) {\n        uVar13 = uVar13 + 8;\n      }\n      else {\n        if (bVar5 != 0x74) goto LAB_0011139e;\n        uVar13 = uVar13 + 8;\n      }\n      pbVar8 = pbVar8 + 1;\n    } while( true );\n  }" if (parenthesized_expression "(uVar12 < local_90)" ( (binary_expression "uVar12 < local_90" identifier < identifier) )) (compound_statement "{\nLAB_0011118d:\n    uVar10 = a->count;\n    while (uVar10 <= uVar12) {\n      a->count = uVar10 + 1;\n      a->arg[uVar10].type = TYPE_NONE;\n      uVar10 = a->count;\n    }\n    aVar6 = a->arg[uVar12].type;\n    if (aVar6 == TYPE_NONE) {\n      a->arg[uVar12].type = TYPE_INT;\n    }\n    else if (aVar6 != TYPE_INT) {\nswitchD_001113be_caseD_26:\n      if (paVar2 != a->arg) {\n        free(a->arg);\n      }\n      if (pcVar1 != d->dir) {\n        free(d->dir);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return L'\xffffffff';\n    }\nLAB_00110e6f:\n    local_70 = uVar17;\n    uVar13 = 0;\n    do {\n      bVar5 = *pbVar8;\n      if (bVar5 == 0x68) {\n        uVar13 = uVar13 | 1 << ((byte)uVar13 & 1);\n      }\n      else if (bVar5 == 0x4c) {\n        uVar13 = uVar13 | 4;\n      }\n      else if (bVar5 == 0x6c) {\n        uVar13 = uVar13 + 8;\n      }\n      else if (bVar5 == 0x6a) {\n        uVar13 = uVar13 + 8;\n      }\n      else if ((bVar5 & 0xdf) == 0x5a) {\n        uVar13 = uVar13 + 8;\n      }\n      else {\n        if (bVar5 != 0x74) goto LAB_0011139e;\n        uVar13 = uVar13 + 8;\n      }\n      pbVar8 = pbVar8 + 1;\n    } while( true );\n  }" { (labeled_statement "LAB_0011118d:\n    uVar10 = a->count;" statement_identifier : (expression_statement "uVar10 = a->count;" (assignment_expression "uVar10 = a->count" identifier = (field_expression "a->count" identifier -> field_identifier)) ;)) (while_statement "while (uVar10 <= uVar12) {\n      a->count = uVar10 + 1;\n      a->arg[uVar10].type = TYPE_NONE;\n      uVar10 = a->count;\n    }" while (parenthesized_expression "(uVar10 <= uVar12)" ( (binary_expression "uVar10 <= uVar12" identifier <= identifier) )) (compound_statement "{\n      a->count = uVar10 + 1;\n      a->arg[uVar10].type = TYPE_NONE;\n      uVar10 = a->count;\n    }" { (expression_statement "a->count = uVar10 + 1;" (assignment_expression "a->count = uVar10 + 1" (field_expression "a->count" identifier -> field_identifier) = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "a->arg[uVar10].type = TYPE_NONE;" (assignment_expression "a->arg[uVar10].type = TYPE_NONE" (field_expression "a->arg[uVar10].type" (subscript_expression "a->arg[uVar10]" (field_expression "a->arg" identifier -> field_identifier) [ identifier ]) . field_identifier) = identifier) ;) (expression_statement "uVar10 = a->count;" (assignment_expression "uVar10 = a->count" identifier = (field_expression "a->count" identifier -> field_identifier)) ;) })) (expression_statement "aVar6 = a->arg[uVar12].type;" (assignment_expression "aVar6 = a->arg[uVar12].type" identifier = (field_expression "a->arg[uVar12].type" (subscript_expression "a->arg[uVar12]" (field_expression "a->arg" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (if_statement "if (aVar6 == TYPE_NONE) {\n      a->arg[uVar12].type = TYPE_INT;\n    }\n    else if (aVar6 != TYPE_INT) {\nswitchD_001113be_caseD_26:\n      if (paVar2 != a->arg) {\n        free(a->arg);\n      }\n      if (pcVar1 != d->dir) {\n        free(d->dir);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return L'\xffffffff';\n    }" if (parenthesized_expression "(aVar6 == TYPE_NONE)" ( (binary_expression "aVar6 == TYPE_NONE" identifier == identifier) )) (compound_statement "{\n      a->arg[uVar12].type = TYPE_INT;\n    }" { (expression_statement "a->arg[uVar12].type = TYPE_INT;" (assignment_expression "a->arg[uVar12].type = TYPE_INT" (field_expression "a->arg[uVar12].type" (subscript_expression "a->arg[uVar12]" (field_expression "a->arg" identifier -> field_identifier) [ identifier ]) . field_identifier) = identifier) ;) }) (else_clause "else if (aVar6 != TYPE_INT) {\nswitchD_001113be_caseD_26:\n      if (paVar2 != a->arg) {\n        free(a->arg);\n      }\n      if (pcVar1 != d->dir) {\n        free(d->dir);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return L'\xffffffff';\n    }" else (if_statement "if (aVar6 != TYPE_INT) {\nswitchD_001113be_caseD_26:\n      if (paVar2 != a->arg) {\n        free(a->arg);\n      }\n      if (pcVar1 != d->dir) {\n        free(d->dir);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return L'\xffffffff';\n    }" if (parenthesized_expression "(aVar6 != TYPE_INT)" ( (binary_expression "aVar6 != TYPE_INT" identifier != identifier) )) (compound_statement "{\nswitchD_001113be_caseD_26:\n      if (paVar2 != a->arg) {\n        free(a->arg);\n      }\n      if (pcVar1 != d->dir) {\n        free(d->dir);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return L'\xffffffff';\n    }" { (labeled_statement "switchD_001113be_caseD_26:\n      if (paVar2 != a->arg) {\n        free(a->arg);\n      }" statement_identifier : (if_statement "if (paVar2 != a->arg) {\n        free(a->arg);\n      }" if (parenthesized_expression "(paVar2 != a->arg)" ( (binary_expression "paVar2 != a->arg" identifier != (field_expression "a->arg" identifier -> field_identifier)) )) (compound_statement "{\n        free(a->arg);\n      }" { (expression_statement "free(a->arg);" (call_expression "free(a->arg)" identifier (argument_list "(a->arg)" ( (field_expression "a->arg" identifier -> field_identifier) ))) ;) }))) (if_statement "if (pcVar1 != d->dir) {\n        free(d->dir);\n      }" if (parenthesized_expression "(pcVar1 != d->dir)" ( (binary_expression "pcVar1 != d->dir" identifier != (field_expression "d->dir" identifier -> field_identifier)) )) (compound_statement "{\n        free(d->dir);\n      }" { (expression_statement "free(d->dir);" (call_expression "free(d->dir)" identifier (argument_list "(d->dir)" ( (field_expression "d->dir" identifier -> field_identifier) ))) ;) })) (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar9 = 0x16;" (assignment_expression "*piVar9 = 0x16" (pointer_expression "*piVar9" * identifier) = number_literal) ;) (return_statement "return L'\xffffffff';" return (char_literal "L'\xffffffff'" L' escape_sequence character character character character ') ;) })))) (labeled_statement "LAB_00110e6f:\n    local_70 = uVar17;" statement_identifier : (expression_statement "local_70 = uVar17;" (assignment_expression "local_70 = uVar17" identifier = identifier) ;)) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n      bVar5 = *pbVar8;\n      if (bVar5 == 0x68) {\n        uVar13 = uVar13 | 1 << ((byte)uVar13 & 1);\n      }\n      else if (bVar5 == 0x4c) {\n        uVar13 = uVar13 | 4;\n      }\n      else if (bVar5 == 0x6c) {\n        uVar13 = uVar13 + 8;\n      }\n      else if (bVar5 == 0x6a) {\n        uVar13 = uVar13 + 8;\n      }\n      else if ((bVar5 & 0xdf) == 0x5a) {\n        uVar13 = uVar13 + 8;\n      }\n      else {\n        if (bVar5 != 0x74) goto LAB_0011139e;\n        uVar13 = uVar13 + 8;\n      }\n      pbVar8 = pbVar8 + 1;\n    } while( true );" do (compound_statement "{\n      bVar5 = *pbVar8;\n      if (bVar5 == 0x68) {\n        uVar13 = uVar13 | 1 << ((byte)uVar13 & 1);\n      }\n      else if (bVar5 == 0x4c) {\n        uVar13 = uVar13 | 4;\n      }\n      else if (bVar5 == 0x6c) {\n        uVar13 = uVar13 + 8;\n      }\n      else if (bVar5 == 0x6a) {\n        uVar13 = uVar13 + 8;\n      }\n      else if ((bVar5 & 0xdf) == 0x5a) {\n        uVar13 = uVar13 + 8;\n      }\n      else {\n        if (bVar5 != 0x74) goto LAB_0011139e;\n        uVar13 = uVar13 + 8;\n      }\n      pbVar8 = pbVar8 + 1;\n    }" { (expression_statement "bVar5 = *pbVar8;" (assignment_expression "bVar5 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (if_statement "if (bVar5 == 0x68) {\n        uVar13 = uVar13 | 1 << ((byte)uVar13 & 1);\n      }\n      else if (bVar5 == 0x4c) {\n        uVar13 = uVar13 | 4;\n      }\n      else if (bVar5 == 0x6c) {\n        uVar13 = uVar13 + 8;\n      }\n      else if (bVar5 == 0x6a) {\n        uVar13 = uVar13 + 8;\n      }\n      else if ((bVar5 & 0xdf) == 0x5a) {\n        uVar13 = uVar13 + 8;\n      }\n      else {\n        if (bVar5 != 0x74) goto LAB_0011139e;\n        uVar13 = uVar13 + 8;\n      }" if (parenthesized_expression "(bVar5 == 0x68)" ( (binary_expression "bVar5 == 0x68" identifier == number_literal) )) (compound_statement "{\n        uVar13 = uVar13 | 1 << ((byte)uVar13 & 1);\n      }" { (expression_statement "uVar13 = uVar13 | 1 << ((byte)uVar13 & 1);" (assignment_expression "uVar13 = uVar13 | 1 << ((byte)uVar13 & 1)" identifier = (binary_expression "uVar13 | 1 << ((byte)uVar13 & 1)" identifier | (binary_expression "1 << ((byte)uVar13 & 1)" number_literal << (parenthesized_expression "((byte)uVar13 & 1)" ( (binary_expression "(byte)uVar13 & 1" (cast_expression "(byte)uVar13" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))))) ;) }) (else_clause "else if (bVar5 == 0x4c) {\n        uVar13 = uVar13 | 4;\n      }\n      else if (bVar5 == 0x6c) {\n        uVar13 = uVar13 + 8;\n      }\n      else if (bVar5 == 0x6a) {\n        uVar13 = uVar13 + 8;\n      }\n      else if ((bVar5 & 0xdf) == 0x5a) {\n        uVar13 = uVar13 + 8;\n      }\n      else {\n        if (bVar5 != 0x74) goto LAB_0011139e;\n        uVar13 = uVar13 + 8;\n      }" else (if_statement "if (bVar5 == 0x4c) {\n        uVar13 = uVar13 | 4;\n      }\n      else if (bVar5 == 0x6c) {\n        uVar13 = uVar13 + 8;\n      }\n      else if (bVar5 == 0x6a) {\n        uVar13 = uVar13 + 8;\n      }\n      else if ((bVar5 & 0xdf) == 0x5a) {\n        uVar13 = uVar13 + 8;\n      }\n      else {\n        if (bVar5 != 0x74) goto LAB_0011139e;\n        uVar13 = uVar13 + 8;\n      }" if (parenthesized_expression "(bVar5 == 0x4c)" ( (binary_expression "bVar5 == 0x4c" identifier == number_literal) )) (compound_statement "{\n        uVar13 = uVar13 | 4;\n      }" { (expression_statement "uVar13 = uVar13 | 4;" (assignment_expression "uVar13 = uVar13 | 4" identifier = (binary_expression "uVar13 | 4" identifier | number_literal)) ;) }) (else_clause "else if (bVar5 == 0x6c) {\n        uVar13 = uVar13 + 8;\n      }\n      else if (bVar5 == 0x6a) {\n        uVar13 = uVar13 + 8;\n      }\n      else if ((bVar5 & 0xdf) == 0x5a) {\n        uVar13 = uVar13 + 8;\n      }\n      else {\n        if (bVar5 != 0x74) goto LAB_0011139e;\n        uVar13 = uVar13 + 8;\n      }" else (if_statement "if (bVar5 == 0x6c) {\n        uVar13 = uVar13 + 8;\n      }\n      else if (bVar5 == 0x6a) {\n        uVar13 = uVar13 + 8;\n      }\n      else if ((bVar5 & 0xdf) == 0x5a) {\n        uVar13 = uVar13 + 8;\n      }\n      else {\n        if (bVar5 != 0x74) goto LAB_0011139e;\n        uVar13 = uVar13 + 8;\n      }" if (parenthesized_expression "(bVar5 == 0x6c)" ( (binary_expression "bVar5 == 0x6c" identifier == number_literal) )) (compound_statement "{\n        uVar13 = uVar13 + 8;\n      }" { (expression_statement "uVar13 = uVar13 + 8;" (assignment_expression "uVar13 = uVar13 + 8" identifier = (binary_expression "uVar13 + 8" identifier + number_literal)) ;) }) (else_clause "else if (bVar5 == 0x6a) {\n        uVar13 = uVar13 + 8;\n      }\n      else if ((bVar5 & 0xdf) == 0x5a) {\n        uVar13 = uVar13 + 8;\n      }\n      else {\n        if (bVar5 != 0x74) goto LAB_0011139e;\n        uVar13 = uVar13 + 8;\n      }" else (if_statement "if (bVar5 == 0x6a) {\n        uVar13 = uVar13 + 8;\n      }\n      else if ((bVar5 & 0xdf) == 0x5a) {\n        uVar13 = uVar13 + 8;\n      }\n      else {\n        if (bVar5 != 0x74) goto LAB_0011139e;\n        uVar13 = uVar13 + 8;\n      }" if (parenthesized_expression "(bVar5 == 0x6a)" ( (binary_expression "bVar5 == 0x6a" identifier == number_literal) )) (compound_statement "{\n        uVar13 = uVar13 + 8;\n      }" { (expression_statement "uVar13 = uVar13 + 8;" (assignment_expression "uVar13 = uVar13 + 8" identifier = (binary_expression "uVar13 + 8" identifier + number_literal)) ;) }) (else_clause "else if ((bVar5 & 0xdf) == 0x5a) {\n        uVar13 = uVar13 + 8;\n      }\n      else {\n        if (bVar5 != 0x74) goto LAB_0011139e;\n        uVar13 = uVar13 + 8;\n      }" else (if_statement "if ((bVar5 & 0xdf) == 0x5a) {\n        uVar13 = uVar13 + 8;\n      }\n      else {\n        if (bVar5 != 0x74) goto LAB_0011139e;\n        uVar13 = uVar13 + 8;\n      }" if (parenthesized_expression "((bVar5 & 0xdf) == 0x5a)" ( (binary_expression "(bVar5 & 0xdf) == 0x5a" (parenthesized_expression "(bVar5 & 0xdf)" ( (binary_expression "bVar5 & 0xdf" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar13 = uVar13 + 8;\n      }" { (expression_statement "uVar13 = uVar13 + 8;" (assignment_expression "uVar13 = uVar13 + 8" identifier = (binary_expression "uVar13 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n        if (bVar5 != 0x74) goto LAB_0011139e;\n        uVar13 = uVar13 + 8;\n      }" else (compound_statement "{\n        if (bVar5 != 0x74) goto LAB_0011139e;\n        uVar13 = uVar13 + 8;\n      }" { (if_statement "if (bVar5 != 0x74) goto LAB_0011139e;" if (parenthesized_expression "(bVar5 != 0x74)" ( (binary_expression "bVar5 != 0x74" identifier != number_literal) )) (goto_statement "goto LAB_0011139e;" goto statement_identifier ;)) (expression_statement "uVar13 = uVar13 + 8;" (assignment_expression "uVar13 = uVar13 + 8" identifier = (binary_expression "uVar13 + 8" identifier + number_literal)) ;) }))))))))))) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if (((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))))\n     && (local_90 < 0x800000000000000)) {\n    if (paVar2 == a->arg) {\n      local_78 = (argument *)malloc(local_90 << 5);\n      if (local_78 != (argument *)0x0) {\n        paVar15 = a->arg;\nLAB_001112dd:\n        memcpy(local_78,paVar15,a->count << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = (argument *)realloc(a->arg,local_90 << 5);\n      if (local_78 != (argument *)0x0) {\n        paVar15 = a->arg;\n        if (paVar2 == paVar15) goto LAB_001112dd;\nLAB_00111184:\n        a->arg = local_78;\n        goto LAB_0011118d;\n      }\n    }\n  }" if (parenthesized_expression "(((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))))\n     && (local_90 < 0x800000000000000))" ( (binary_expression "((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))))\n     && (local_90 < 0x800000000000000)" (parenthesized_expression "((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))))" ( (binary_expression "(-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90)))" (parenthesized_expression "(-1 < (long)local_90)" ( (binary_expression "-1 < (long)local_90" number_literal < (cast_expression "(long)local_90" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) && (parenthesized_expression "((local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90)))" ( (parenthesized_expression "(local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90))" ( (comma_expression "local_90 = local_90 * 2, uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90)" (assignment_expression "local_90 = local_90 * 2" identifier = (binary_expression "local_90 * 2" identifier * number_literal)) , (binary_expression "uVar12 < local_90 || (local_90 = uVar12 + 1, uVar12 <= local_90)" (binary_expression "uVar12 < local_90" identifier < identifier) || (parenthesized_expression "(local_90 = uVar12 + 1, uVar12 <= local_90)" ( (comma_expression "local_90 = uVar12 + 1, uVar12 <= local_90" (assignment_expression "local_90 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) , (binary_expression "uVar12 <= local_90" identifier <= identifier)) )))) )) ))) )) && (parenthesized_expression "(local_90 < 0x800000000000000)" ( (binary_expression "local_90 < 0x800000000000000" identifier < number_literal) ))) )) (compound_statement "{\n    if (paVar2 == a->arg) {\n      local_78 = (argument *)malloc(local_90 << 5);\n      if (local_78 != (argument *)0x0) {\n        paVar15 = a->arg;\nLAB_001112dd:\n        memcpy(local_78,paVar15,a->count << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = (argument *)realloc(a->arg,local_90 << 5);\n      if (local_78 != (argument *)0x0) {\n        paVar15 = a->arg;\n        if (paVar2 == paVar15) goto LAB_001112dd;\nLAB_00111184:\n        a->arg = local_78;\n        goto LAB_0011118d;\n      }\n    }\n  }" { (if_statement "if (paVar2 == a->arg) {\n      local_78 = (argument *)malloc(local_90 << 5);\n      if (local_78 != (argument *)0x0) {\n        paVar15 = a->arg;\nLAB_001112dd:\n        memcpy(local_78,paVar15,a->count << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = (argument *)realloc(a->arg,local_90 << 5);\n      if (local_78 != (argument *)0x0) {\n        paVar15 = a->arg;\n        if (paVar2 == paVar15) goto LAB_001112dd;\nLAB_00111184:\n        a->arg = local_78;\n        goto LAB_0011118d;\n      }\n    }" if (parenthesized_expression "(paVar2 == a->arg)" ( (binary_expression "paVar2 == a->arg" identifier == (field_expression "a->arg" identifier -> field_identifier)) )) (compound_statement "{\n      local_78 = (argument *)malloc(local_90 << 5);\n      if (local_78 != (argument *)0x0) {\n        paVar15 = a->arg;\nLAB_001112dd:\n        memcpy(local_78,paVar15,a->count << 5);\n        goto LAB_00111184;\n      }\n    }" { (expression_statement "local_78 = (argument *)malloc(local_90 << 5);" (assignment_expression "local_78 = (argument *)malloc(local_90 << 5)" identifier = (cast_expression "(argument *)malloc(local_90 << 5)" ( (type_descriptor "argument *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(local_90 << 5)" identifier (argument_list "(local_90 << 5)" ( (binary_expression "local_90 << 5" identifier << number_literal) ))))) ;) (if_statement "if (local_78 != (argument *)0x0) {\n        paVar15 = a->arg;\nLAB_001112dd:\n        memcpy(local_78,paVar15,a->count << 5);\n        goto LAB_00111184;\n      }" if (parenthesized_expression "(local_78 != (argument *)0x0)" ( (binary_expression "local_78 != (argument *)0x0" identifier != (cast_expression "(argument *)0x0" ( (type_descriptor "argument *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        paVar15 = a->arg;\nLAB_001112dd:\n        memcpy(local_78,paVar15,a->count << 5);\n        goto LAB_00111184;\n      }" { (expression_statement "paVar15 = a->arg;" (assignment_expression "paVar15 = a->arg" identifier = (field_expression "a->arg" identifier -> field_identifier)) ;) (labeled_statement "LAB_001112dd:\n        memcpy(local_78,paVar15,a->count << 5);" statement_identifier : (expression_statement "memcpy(local_78,paVar15,a->count << 5);" (call_expression "memcpy(local_78,paVar15,a->count << 5)" identifier (argument_list "(local_78,paVar15,a->count << 5)" ( identifier , identifier , (binary_expression "a->count << 5" (field_expression "a->count" identifier -> field_identifier) << number_literal) ))) ;)) (goto_statement "goto LAB_00111184;" goto statement_identifier ;) })) }) (else_clause "else {\n      local_78 = (argument *)realloc(a->arg,local_90 << 5);\n      if (local_78 != (argument *)0x0) {\n        paVar15 = a->arg;\n        if (paVar2 == paVar15) goto LAB_001112dd;\nLAB_00111184:\n        a->arg = local_78;\n        goto LAB_0011118d;\n      }\n    }" else (compound_statement "{\n      local_78 = (argument *)realloc(a->arg,local_90 << 5);\n      if (local_78 != (argument *)0x0) {\n        paVar15 = a->arg;\n        if (paVar2 == paVar15) goto LAB_001112dd;\nLAB_00111184:\n        a->arg = local_78;\n        goto LAB_0011118d;\n      }\n    }" { (expression_statement "local_78 = (argument *)realloc(a->arg,local_90 << 5);" (assignment_expression "local_78 = (argument *)realloc(a->arg,local_90 << 5)" identifier = (cast_expression "(argument *)realloc(a->arg,local_90 << 5)" ( (type_descriptor "argument *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "realloc(a->arg,local_90 << 5)" identifier (argument_list "(a->arg,local_90 << 5)" ( (field_expression "a->arg" identifier -> field_identifier) , (binary_expression "local_90 << 5" identifier << number_literal) ))))) ;) (if_statement "if (local_78 != (argument *)0x0) {\n        paVar15 = a->arg;\n        if (paVar2 == paVar15) goto LAB_001112dd;\nLAB_00111184:\n        a->arg = local_78;\n        goto LAB_0011118d;\n      }" if (parenthesized_expression "(local_78 != (argument *)0x0)" ( (binary_expression "local_78 != (argument *)0x0" identifier != (cast_expression "(argument *)0x0" ( (type_descriptor "argument *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        paVar15 = a->arg;\n        if (paVar2 == paVar15) goto LAB_001112dd;\nLAB_00111184:\n        a->arg = local_78;\n        goto LAB_0011118d;\n      }" { (expression_statement "paVar15 = a->arg;" (assignment_expression "paVar15 = a->arg" identifier = (field_expression "a->arg" identifier -> field_identifier)) ;) (if_statement "if (paVar2 == paVar15) goto LAB_001112dd;" if (parenthesized_expression "(paVar2 == paVar15)" ( (binary_expression "paVar2 == paVar15" identifier == identifier) )) (goto_statement "goto LAB_001112dd;" goto statement_identifier ;)) (labeled_statement "LAB_00111184:\n        a->arg = local_78;" statement_identifier : (expression_statement "a->arg = local_78;" (assignment_expression "a->arg = local_78" (field_expression "a->arg" identifier -> field_identifier) = identifier) ;)) (goto_statement "goto LAB_0011118d;" goto statement_identifier ;) })) }))) })) (labeled_statement "LAB_00111292:\n  paVar15 = a->arg;" statement_identifier : (expression_statement "paVar15 = a->arg;" (assignment_expression "paVar15 = a->arg" identifier = (field_expression "a->arg" identifier -> field_identifier)) ;)) (if_statement "if (paVar2 != paVar15) {\nLAB_0011129d:\n    free(paVar15);\n  }" if (parenthesized_expression "(paVar2 != paVar15)" ( (binary_expression "paVar2 != paVar15" identifier != identifier) )) (compound_statement "{\nLAB_0011129d:\n    free(paVar15);\n  }" { (labeled_statement "LAB_0011129d:\n    free(paVar15);" statement_identifier : (expression_statement "free(paVar15);" (call_expression "free(paVar15)" identifier (argument_list "(paVar15)" ( identifier ))) ;)) })) (labeled_statement "LAB_001112a2:\n  if (pcVar1 != d->dir) {\n    free(d->dir);\n  }" statement_identifier : (if_statement "if (pcVar1 != d->dir) {\n    free(d->dir);\n  }" if (parenthesized_expression "(pcVar1 != d->dir)" ( (binary_expression "pcVar1 != d->dir" identifier != (field_expression "d->dir" identifier -> field_identifier)) )) (compound_statement "{\n    free(d->dir);\n  }" { (expression_statement "free(d->dir);" (call_expression "free(d->dir)" identifier (argument_list "(d->dir)" ( (field_expression "d->dir" identifier -> field_identifier) ))) ;) }))) (labeled_statement "LAB_001112b2:\n  piVar9 = __errno_location();" statement_identifier : (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;)) (expression_statement "*piVar9 = 0xc;" (assignment_expression "*piVar9 = 0xc" (pointer_expression "*piVar9" * identifier) = number_literal) ;) (return_statement "return L'\xffffffff';" return (char_literal "L'\xffffffff'" L' escape_sequence character character character character ') ;) })))
(translation_unit "undefined8 FUN_00110c80(byte *param_1,ulong *param_2,ulong *param_3)\n\n{\n  ulong *puVar1;\n  ulong *puVar2;\n  undefined8 *puVar3;\n  byte bVar4;\n  int iVar5;\n  byte bVar6;\n  int iVar7;\n  byte *pbVar8;\n  void *__dest;\n  int *piVar9;\n  ulong uVar10;\n  ulong uVar11;\n  byte *pbVar12;\n  ulong uVar13;\n  uint uVar14;\n  ulong *puVar15;\n  ulong uVar16;\n  bool bVar17;\n  ulong local_90;\n  ulong local_88;\n  void *local_78;\n  ulong local_70;\n  ulong local_68;\n  long local_60;\n  ulong local_50;\n  ulong *local_48;\n  void *local_40;\n  \n  *param_2 = 0;\n  puVar1 = param_2 + 4;\n  param_2[1] = (ulong)puVar1;\n  *param_3 = 0;\n  puVar2 = param_3 + 2;\n  param_3[1] = (ulong)puVar2;\n  local_70 = 0;\n  local_88 = 0;\n  local_90 = 7;\n  local_68 = 7;\n  local_60 = 0;\n  local_50 = 0xffffffffffffffff;\nLAB_00110cf5:\n  do {\n    pbVar8 = param_1;\n    if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }\n    param_1 = pbVar8 + 1;\n  } while (*pbVar8 != 0x25);\n  puVar3 = (undefined8 *)(param_2[1] + *param_2 * 0x58);\n  *puVar3 = pbVar8;\n  *(undefined4 *)(puVar3 + 2) = 0;\n  puVar3[3] = 0;\n  puVar3[4] = 0;\n  puVar3[5] = 0xffffffffffffffff;\n  puVar3[6] = 0;\n  puVar3[7] = 0;\n  puVar3[8] = 0xffffffffffffffff;\n  puVar3[10] = 0xffffffffffffffff;\n  bVar6 = pbVar8[1];\n  uVar16 = 0xffffffffffffffff;\n  pbVar8 = param_1;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    uVar16 = 0xffffffffffffffff;\n    if (bVar4 == 0x24) {\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }\n  }\n  goto LAB_00110e08;\nLAB_00110dec:\n  uVar16 = uVar16 - 1;\n  if (uVar16 < 0xfffffffffffffffe) {\n    param_1 = param_1 + 2;\nLAB_00110e08:\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }\n  goto switchD_001113be_caseD_26;\nLAB_00110e55:\n  if (bVar6 == 0x2a) {\n    puVar3[3] = param_1;\n    pbVar8 = param_1 + 1;\n    puVar3[4] = pbVar8;\n    uVar10 = 1;\n    if (local_88 != 0) {\n      uVar10 = local_88;\n    }\n    bVar6 = param_1[1];\n    pbVar12 = pbVar8;\n    if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }\n    if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }\n  pbVar8 = param_1;\n  uVar10 = local_88;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    puVar3[3] = param_1;\n    bVar6 = *param_1;\n    while ((byte)(bVar6 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }\n    puVar3[4] = pbVar8;\n    uVar10 = (long)pbVar8 - (long)param_1;\n    if ((ulong)((long)pbVar8 - (long)param_1) <= local_88) {\n      uVar10 = local_88;\n    }\n  }\nLAB_00110e66:\n  local_88 = uVar10;\n  param_1 = pbVar8;\n  uVar10 = local_70;\n  if (*pbVar8 != 0x2e) goto LAB_00110e6f;\n  if (pbVar8[1] != 0x2a) {\n    param_1 = pbVar8 + 1;\n    puVar3[6] = pbVar8;\n    bVar6 = pbVar8[1];\n    while ((byte)(bVar6 - 0x30) < 10) {\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }\n    puVar3[7] = param_1;\n    uVar10 = (long)param_1 - (long)pbVar8;\n    if ((ulong)((long)param_1 - (long)pbVar8) <= local_70) {\n      uVar10 = local_70;\n    }\n    goto LAB_00110e6f;\n  }\n  puVar3[6] = pbVar8;\n  param_1 = pbVar8 + 2;\n  puVar3[7] = param_1;\n  uVar10 = 2;\n  if (1 < local_70) {\n    uVar10 = local_70;\n  }\n  bVar6 = pbVar8[2];\n  pbVar12 = param_1;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    if (bVar4 == 0x24) {\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }\n  }\n  if (puVar3[8] == -1) {\n    puVar3[8] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }\n  goto LAB_0011110c;\nLAB_00111003:\n  uVar13 = uVar13 - 1;\n  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;\n  puVar3[5] = uVar13;\n  pbVar8 = pbVar8 + 2;\nLAB_00110ebb:\n  uVar13 = puVar3[5];\n  if (uVar13 < local_90) {\nLAB_00110f4e:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) goto switchD_001113be_caseD_26;\n    goto LAB_00110e66;\n  }\n  if ((-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)))) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }\n    if (local_78 != (void *)0x0) {\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }\n  }\n  goto LAB_00111292;\nLAB_0011139e:\n  param_1 = param_1 + 1;\n  switch(bVar6) {\n  case 0x25:\n    goto switchD_001113be_caseD_25;\n  default:\n    goto switchD_001113be_caseD_26;\n  case 0x41:\n  case 0x45:\n  case 0x46:\n  case 0x47:\n  case 0x61:\n  case 0x65:\n  case 0x66:\n  case 0x67:\n    iVar7 = 0xc;\n    if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }\n    break;\n  case 0x43:\n    iVar7 = 0xe;\n    bVar6 = 99;\n    break;\n  case 0x53:\n    iVar7 = 0x10;\n    bVar6 = 0x73;\n    break;\n  case 0x58:\n  case 0x6f:\n  case 0x75:\n  case 0x78:\n    iVar7 = 10;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }\n    break;\n  case 99:\n    iVar7 = (7 < (int)uVar14) + 0xd;\n    break;\n  case 100:\n  case 0x69:\n    iVar7 = 9;\n    if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }\n    break;\n  case 0x6e:\n    iVar7 = 0x16;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }\n    break;\n  case 0x70:\n    iVar7 = 0x11;\n    break;\n  case 0x73:\n    iVar7 = (7 < (int)uVar14) + 0xf;\n  }\n  if (uVar16 == 0xffffffffffffffff) {\n    puVar3[10] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }\n  else {\n    puVar3[10] = uVar16;\n  }\n  uVar16 = puVar3[10];\n  if (uVar16 < local_90) {\nLAB_001115b1:\n    uVar10 = *param_3;\n    while (uVar10 <= uVar16) {\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }\n    piVar9 = (int *)(uVar16 * 0x20 + param_3[1]);\n    iVar5 = *piVar9;\n    if (iVar5 == 0) {\n      *piVar9 = iVar7;\n    }\n    else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;\nswitchD_001113be_caseD_25:\n    *(byte *)(puVar3 + 9) = bVar6;\n    puVar3[1] = param_1;\n    uVar16 = *param_2;\n    *param_2 = uVar16 + 1;\n    if (uVar16 + 1 < local_68) goto LAB_00110cf5;\n    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;\n    puVar15 = (ulong *)param_2[1];\n    if (puVar1 != puVar15) {\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }\n    __dest = malloc(local_68 * 0xb0);\n    if (__dest != (void *)0x0) goto LAB_00111732;\n    puVar15 = (ulong *)param_3[1];\n    if (puVar2 == puVar15) goto LAB_001112b2;\n    goto LAB_0011129d;\n  }\n  if ((((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))\n     || (0x7ffffffffffffff < local_90)) goto LAB_00111292;\n  local_48 = (ulong *)param_3[1];\n  if (puVar2 != local_48) {\n    local_40 = realloc(local_48,local_90 << 5);\n    if (local_40 != (void *)0x0) {\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }\n    goto LAB_00111292;\n  }\n  local_40 = malloc(local_90 << 5);\n  if (local_40 != (void *)0x0) {\nLAB_001116c7:\n    memcpy(local_40,local_48,*param_3 << 5);\nLAB_001115a8:\n    param_3[1] = (ulong)local_40;\n    goto LAB_001115b1;\n  }\n  goto LAB_001112a2;\nLAB_00111244:\n  uVar13 = uVar13 - 1;\n  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;\n  puVar3[8] = uVar13;\n  param_1 = pbVar8 + 2;\nLAB_0011110c:\n  uVar13 = puVar3[8];\n  if (uVar13 < local_90) {\nLAB_0011118d:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }\nLAB_00110e6f:\n    local_70 = uVar10;\n    uVar14 = 0;\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }\n  if (((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))\n     && (local_90 < 0x800000000000000)) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }\n  }\nLAB_00111292:\n  puVar15 = (ulong *)param_3[1];\n  if (puVar2 != puVar15) {\nLAB_0011129d:\n    free(puVar15);\n  }\nLAB_001112a2:\n  if (puVar1 != (ulong *)param_2[1]) {\n    free((ulong *)param_2[1]);\n  }\nLAB_001112b2:\n  piVar9 = __errno_location();\n  *piVar9 = 0xc;\n  return 0xffffffff;\n}\n\n" (function_definition "undefined8 FUN_00110c80(byte *param_1,ulong *param_2,ulong *param_3)\n\n{\n  ulong *puVar1;\n  ulong *puVar2;\n  undefined8 *puVar3;\n  byte bVar4;\n  int iVar5;\n  byte bVar6;\n  int iVar7;\n  byte *pbVar8;\n  void *__dest;\n  int *piVar9;\n  ulong uVar10;\n  ulong uVar11;\n  byte *pbVar12;\n  ulong uVar13;\n  uint uVar14;\n  ulong *puVar15;\n  ulong uVar16;\n  bool bVar17;\n  ulong local_90;\n  ulong local_88;\n  void *local_78;\n  ulong local_70;\n  ulong local_68;\n  long local_60;\n  ulong local_50;\n  ulong *local_48;\n  void *local_40;\n  \n  *param_2 = 0;\n  puVar1 = param_2 + 4;\n  param_2[1] = (ulong)puVar1;\n  *param_3 = 0;\n  puVar2 = param_3 + 2;\n  param_3[1] = (ulong)puVar2;\n  local_70 = 0;\n  local_88 = 0;\n  local_90 = 7;\n  local_68 = 7;\n  local_60 = 0;\n  local_50 = 0xffffffffffffffff;\nLAB_00110cf5:\n  do {\n    pbVar8 = param_1;\n    if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }\n    param_1 = pbVar8 + 1;\n  } while (*pbVar8 != 0x25);\n  puVar3 = (undefined8 *)(param_2[1] + *param_2 * 0x58);\n  *puVar3 = pbVar8;\n  *(undefined4 *)(puVar3 + 2) = 0;\n  puVar3[3] = 0;\n  puVar3[4] = 0;\n  puVar3[5] = 0xffffffffffffffff;\n  puVar3[6] = 0;\n  puVar3[7] = 0;\n  puVar3[8] = 0xffffffffffffffff;\n  puVar3[10] = 0xffffffffffffffff;\n  bVar6 = pbVar8[1];\n  uVar16 = 0xffffffffffffffff;\n  pbVar8 = param_1;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    uVar16 = 0xffffffffffffffff;\n    if (bVar4 == 0x24) {\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }\n  }\n  goto LAB_00110e08;\nLAB_00110dec:\n  uVar16 = uVar16 - 1;\n  if (uVar16 < 0xfffffffffffffffe) {\n    param_1 = param_1 + 2;\nLAB_00110e08:\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }\n  goto switchD_001113be_caseD_26;\nLAB_00110e55:\n  if (bVar6 == 0x2a) {\n    puVar3[3] = param_1;\n    pbVar8 = param_1 + 1;\n    puVar3[4] = pbVar8;\n    uVar10 = 1;\n    if (local_88 != 0) {\n      uVar10 = local_88;\n    }\n    bVar6 = param_1[1];\n    pbVar12 = pbVar8;\n    if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }\n    if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }\n  pbVar8 = param_1;\n  uVar10 = local_88;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    puVar3[3] = param_1;\n    bVar6 = *param_1;\n    while ((byte)(bVar6 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }\n    puVar3[4] = pbVar8;\n    uVar10 = (long)pbVar8 - (long)param_1;\n    if ((ulong)((long)pbVar8 - (long)param_1) <= local_88) {\n      uVar10 = local_88;\n    }\n  }\nLAB_00110e66:\n  local_88 = uVar10;\n  param_1 = pbVar8;\n  uVar10 = local_70;\n  if (*pbVar8 != 0x2e) goto LAB_00110e6f;\n  if (pbVar8[1] != 0x2a) {\n    param_1 = pbVar8 + 1;\n    puVar3[6] = pbVar8;\n    bVar6 = pbVar8[1];\n    while ((byte)(bVar6 - 0x30) < 10) {\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }\n    puVar3[7] = param_1;\n    uVar10 = (long)param_1 - (long)pbVar8;\n    if ((ulong)((long)param_1 - (long)pbVar8) <= local_70) {\n      uVar10 = local_70;\n    }\n    goto LAB_00110e6f;\n  }\n  puVar3[6] = pbVar8;\n  param_1 = pbVar8 + 2;\n  puVar3[7] = param_1;\n  uVar10 = 2;\n  if (1 < local_70) {\n    uVar10 = local_70;\n  }\n  bVar6 = pbVar8[2];\n  pbVar12 = param_1;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    if (bVar4 == 0x24) {\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }\n  }\n  if (puVar3[8] == -1) {\n    puVar3[8] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }\n  goto LAB_0011110c;\nLAB_00111003:\n  uVar13 = uVar13 - 1;\n  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;\n  puVar3[5] = uVar13;\n  pbVar8 = pbVar8 + 2;\nLAB_00110ebb:\n  uVar13 = puVar3[5];\n  if (uVar13 < local_90) {\nLAB_00110f4e:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) goto switchD_001113be_caseD_26;\n    goto LAB_00110e66;\n  }\n  if ((-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)))) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }\n    if (local_78 != (void *)0x0) {\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }\n  }\n  goto LAB_00111292;\nLAB_0011139e:\n  param_1 = param_1 + 1;\n  switch(bVar6) {\n  case 0x25:\n    goto switchD_001113be_caseD_25;\n  default:\n    goto switchD_001113be_caseD_26;\n  case 0x41:\n  case 0x45:\n  case 0x46:\n  case 0x47:\n  case 0x61:\n  case 0x65:\n  case 0x66:\n  case 0x67:\n    iVar7 = 0xc;\n    if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }\n    break;\n  case 0x43:\n    iVar7 = 0xe;\n    bVar6 = 99;\n    break;\n  case 0x53:\n    iVar7 = 0x10;\n    bVar6 = 0x73;\n    break;\n  case 0x58:\n  case 0x6f:\n  case 0x75:\n  case 0x78:\n    iVar7 = 10;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }\n    break;\n  case 99:\n    iVar7 = (7 < (int)uVar14) + 0xd;\n    break;\n  case 100:\n  case 0x69:\n    iVar7 = 9;\n    if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }\n    break;\n  case 0x6e:\n    iVar7 = 0x16;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }\n    break;\n  case 0x70:\n    iVar7 = 0x11;\n    break;\n  case 0x73:\n    iVar7 = (7 < (int)uVar14) + 0xf;\n  }\n  if (uVar16 == 0xffffffffffffffff) {\n    puVar3[10] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }\n  else {\n    puVar3[10] = uVar16;\n  }\n  uVar16 = puVar3[10];\n  if (uVar16 < local_90) {\nLAB_001115b1:\n    uVar10 = *param_3;\n    while (uVar10 <= uVar16) {\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }\n    piVar9 = (int *)(uVar16 * 0x20 + param_3[1]);\n    iVar5 = *piVar9;\n    if (iVar5 == 0) {\n      *piVar9 = iVar7;\n    }\n    else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;\nswitchD_001113be_caseD_25:\n    *(byte *)(puVar3 + 9) = bVar6;\n    puVar3[1] = param_1;\n    uVar16 = *param_2;\n    *param_2 = uVar16 + 1;\n    if (uVar16 + 1 < local_68) goto LAB_00110cf5;\n    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;\n    puVar15 = (ulong *)param_2[1];\n    if (puVar1 != puVar15) {\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }\n    __dest = malloc(local_68 * 0xb0);\n    if (__dest != (void *)0x0) goto LAB_00111732;\n    puVar15 = (ulong *)param_3[1];\n    if (puVar2 == puVar15) goto LAB_001112b2;\n    goto LAB_0011129d;\n  }\n  if ((((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))\n     || (0x7ffffffffffffff < local_90)) goto LAB_00111292;\n  local_48 = (ulong *)param_3[1];\n  if (puVar2 != local_48) {\n    local_40 = realloc(local_48,local_90 << 5);\n    if (local_40 != (void *)0x0) {\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }\n    goto LAB_00111292;\n  }\n  local_40 = malloc(local_90 << 5);\n  if (local_40 != (void *)0x0) {\nLAB_001116c7:\n    memcpy(local_40,local_48,*param_3 << 5);\nLAB_001115a8:\n    param_3[1] = (ulong)local_40;\n    goto LAB_001115b1;\n  }\n  goto LAB_001112a2;\nLAB_00111244:\n  uVar13 = uVar13 - 1;\n  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;\n  puVar3[8] = uVar13;\n  param_1 = pbVar8 + 2;\nLAB_0011110c:\n  uVar13 = puVar3[8];\n  if (uVar13 < local_90) {\nLAB_0011118d:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }\nLAB_00110e6f:\n    local_70 = uVar10;\n    uVar14 = 0;\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }\n  if (((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))\n     && (local_90 < 0x800000000000000)) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }\n  }\nLAB_00111292:\n  puVar15 = (ulong *)param_3[1];\n  if (puVar2 != puVar15) {\nLAB_0011129d:\n    free(puVar15);\n  }\nLAB_001112a2:\n  if (puVar1 != (ulong *)param_2[1]) {\n    free((ulong *)param_2[1]);\n  }\nLAB_001112b2:\n  piVar9 = __errno_location();\n  *piVar9 = 0xc;\n  return 0xffffffff;\n}" type_identifier (function_declarator "FUN_00110c80(byte *param_1,ulong *param_2,ulong *param_3)" identifier (parameter_list "(byte *param_1,ulong *param_2,ulong *param_3)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "ulong *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "ulong *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  ulong *puVar1;\n  ulong *puVar2;\n  undefined8 *puVar3;\n  byte bVar4;\n  int iVar5;\n  byte bVar6;\n  int iVar7;\n  byte *pbVar8;\n  void *__dest;\n  int *piVar9;\n  ulong uVar10;\n  ulong uVar11;\n  byte *pbVar12;\n  ulong uVar13;\n  uint uVar14;\n  ulong *puVar15;\n  ulong uVar16;\n  bool bVar17;\n  ulong local_90;\n  ulong local_88;\n  void *local_78;\n  ulong local_70;\n  ulong local_68;\n  long local_60;\n  ulong local_50;\n  ulong *local_48;\n  void *local_40;\n  \n  *param_2 = 0;\n  puVar1 = param_2 + 4;\n  param_2[1] = (ulong)puVar1;\n  *param_3 = 0;\n  puVar2 = param_3 + 2;\n  param_3[1] = (ulong)puVar2;\n  local_70 = 0;\n  local_88 = 0;\n  local_90 = 7;\n  local_68 = 7;\n  local_60 = 0;\n  local_50 = 0xffffffffffffffff;\nLAB_00110cf5:\n  do {\n    pbVar8 = param_1;\n    if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }\n    param_1 = pbVar8 + 1;\n  } while (*pbVar8 != 0x25);\n  puVar3 = (undefined8 *)(param_2[1] + *param_2 * 0x58);\n  *puVar3 = pbVar8;\n  *(undefined4 *)(puVar3 + 2) = 0;\n  puVar3[3] = 0;\n  puVar3[4] = 0;\n  puVar3[5] = 0xffffffffffffffff;\n  puVar3[6] = 0;\n  puVar3[7] = 0;\n  puVar3[8] = 0xffffffffffffffff;\n  puVar3[10] = 0xffffffffffffffff;\n  bVar6 = pbVar8[1];\n  uVar16 = 0xffffffffffffffff;\n  pbVar8 = param_1;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    uVar16 = 0xffffffffffffffff;\n    if (bVar4 == 0x24) {\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }\n  }\n  goto LAB_00110e08;\nLAB_00110dec:\n  uVar16 = uVar16 - 1;\n  if (uVar16 < 0xfffffffffffffffe) {\n    param_1 = param_1 + 2;\nLAB_00110e08:\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }\n  goto switchD_001113be_caseD_26;\nLAB_00110e55:\n  if (bVar6 == 0x2a) {\n    puVar3[3] = param_1;\n    pbVar8 = param_1 + 1;\n    puVar3[4] = pbVar8;\n    uVar10 = 1;\n    if (local_88 != 0) {\n      uVar10 = local_88;\n    }\n    bVar6 = param_1[1];\n    pbVar12 = pbVar8;\n    if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }\n    if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }\n  pbVar8 = param_1;\n  uVar10 = local_88;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    puVar3[3] = param_1;\n    bVar6 = *param_1;\n    while ((byte)(bVar6 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }\n    puVar3[4] = pbVar8;\n    uVar10 = (long)pbVar8 - (long)param_1;\n    if ((ulong)((long)pbVar8 - (long)param_1) <= local_88) {\n      uVar10 = local_88;\n    }\n  }\nLAB_00110e66:\n  local_88 = uVar10;\n  param_1 = pbVar8;\n  uVar10 = local_70;\n  if (*pbVar8 != 0x2e) goto LAB_00110e6f;\n  if (pbVar8[1] != 0x2a) {\n    param_1 = pbVar8 + 1;\n    puVar3[6] = pbVar8;\n    bVar6 = pbVar8[1];\n    while ((byte)(bVar6 - 0x30) < 10) {\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }\n    puVar3[7] = param_1;\n    uVar10 = (long)param_1 - (long)pbVar8;\n    if ((ulong)((long)param_1 - (long)pbVar8) <= local_70) {\n      uVar10 = local_70;\n    }\n    goto LAB_00110e6f;\n  }\n  puVar3[6] = pbVar8;\n  param_1 = pbVar8 + 2;\n  puVar3[7] = param_1;\n  uVar10 = 2;\n  if (1 < local_70) {\n    uVar10 = local_70;\n  }\n  bVar6 = pbVar8[2];\n  pbVar12 = param_1;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    if (bVar4 == 0x24) {\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }\n  }\n  if (puVar3[8] == -1) {\n    puVar3[8] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }\n  goto LAB_0011110c;\nLAB_00111003:\n  uVar13 = uVar13 - 1;\n  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;\n  puVar3[5] = uVar13;\n  pbVar8 = pbVar8 + 2;\nLAB_00110ebb:\n  uVar13 = puVar3[5];\n  if (uVar13 < local_90) {\nLAB_00110f4e:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) goto switchD_001113be_caseD_26;\n    goto LAB_00110e66;\n  }\n  if ((-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)))) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }\n    if (local_78 != (void *)0x0) {\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }\n  }\n  goto LAB_00111292;\nLAB_0011139e:\n  param_1 = param_1 + 1;\n  switch(bVar6) {\n  case 0x25:\n    goto switchD_001113be_caseD_25;\n  default:\n    goto switchD_001113be_caseD_26;\n  case 0x41:\n  case 0x45:\n  case 0x46:\n  case 0x47:\n  case 0x61:\n  case 0x65:\n  case 0x66:\n  case 0x67:\n    iVar7 = 0xc;\n    if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }\n    break;\n  case 0x43:\n    iVar7 = 0xe;\n    bVar6 = 99;\n    break;\n  case 0x53:\n    iVar7 = 0x10;\n    bVar6 = 0x73;\n    break;\n  case 0x58:\n  case 0x6f:\n  case 0x75:\n  case 0x78:\n    iVar7 = 10;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }\n    break;\n  case 99:\n    iVar7 = (7 < (int)uVar14) + 0xd;\n    break;\n  case 100:\n  case 0x69:\n    iVar7 = 9;\n    if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }\n    break;\n  case 0x6e:\n    iVar7 = 0x16;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }\n    break;\n  case 0x70:\n    iVar7 = 0x11;\n    break;\n  case 0x73:\n    iVar7 = (7 < (int)uVar14) + 0xf;\n  }\n  if (uVar16 == 0xffffffffffffffff) {\n    puVar3[10] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }\n  else {\n    puVar3[10] = uVar16;\n  }\n  uVar16 = puVar3[10];\n  if (uVar16 < local_90) {\nLAB_001115b1:\n    uVar10 = *param_3;\n    while (uVar10 <= uVar16) {\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }\n    piVar9 = (int *)(uVar16 * 0x20 + param_3[1]);\n    iVar5 = *piVar9;\n    if (iVar5 == 0) {\n      *piVar9 = iVar7;\n    }\n    else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;\nswitchD_001113be_caseD_25:\n    *(byte *)(puVar3 + 9) = bVar6;\n    puVar3[1] = param_1;\n    uVar16 = *param_2;\n    *param_2 = uVar16 + 1;\n    if (uVar16 + 1 < local_68) goto LAB_00110cf5;\n    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;\n    puVar15 = (ulong *)param_2[1];\n    if (puVar1 != puVar15) {\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }\n    __dest = malloc(local_68 * 0xb0);\n    if (__dest != (void *)0x0) goto LAB_00111732;\n    puVar15 = (ulong *)param_3[1];\n    if (puVar2 == puVar15) goto LAB_001112b2;\n    goto LAB_0011129d;\n  }\n  if ((((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))\n     || (0x7ffffffffffffff < local_90)) goto LAB_00111292;\n  local_48 = (ulong *)param_3[1];\n  if (puVar2 != local_48) {\n    local_40 = realloc(local_48,local_90 << 5);\n    if (local_40 != (void *)0x0) {\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }\n    goto LAB_00111292;\n  }\n  local_40 = malloc(local_90 << 5);\n  if (local_40 != (void *)0x0) {\nLAB_001116c7:\n    memcpy(local_40,local_48,*param_3 << 5);\nLAB_001115a8:\n    param_3[1] = (ulong)local_40;\n    goto LAB_001115b1;\n  }\n  goto LAB_001112a2;\nLAB_00111244:\n  uVar13 = uVar13 - 1;\n  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;\n  puVar3[8] = uVar13;\n  param_1 = pbVar8 + 2;\nLAB_0011110c:\n  uVar13 = puVar3[8];\n  if (uVar13 < local_90) {\nLAB_0011118d:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }\nLAB_00110e6f:\n    local_70 = uVar10;\n    uVar14 = 0;\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }\n  if (((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))\n     && (local_90 < 0x800000000000000)) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }\n  }\nLAB_00111292:\n  puVar15 = (ulong *)param_3[1];\n  if (puVar2 != puVar15) {\nLAB_0011129d:\n    free(puVar15);\n  }\nLAB_001112a2:\n  if (puVar1 != (ulong *)param_2[1]) {\n    free((ulong *)param_2[1]);\n  }\nLAB_001112b2:\n  piVar9 = __errno_location();\n  *piVar9 = 0xc;\n  return 0xffffffff;\n}" { (declaration "ulong *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "ulong *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined8 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "ulong uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "ulong *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "ulong uVar16;" type_identifier identifier ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "ulong local_90;" type_identifier identifier ;) (declaration "ulong local_88;" type_identifier identifier ;) (declaration "void *local_78;" primitive_type (pointer_declarator "*local_78" * identifier) ;) (declaration "ulong local_70;" type_identifier identifier ;) (declaration "ulong local_68;" type_identifier identifier ;) (declaration "long local_60;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong local_50;" type_identifier identifier ;) (declaration "ulong *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "void *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (expression_statement "*param_2 = 0;" (assignment_expression "*param_2 = 0" (pointer_expression "*param_2" * identifier) = number_literal) ;) (expression_statement "puVar1 = param_2 + 4;" (assignment_expression "puVar1 = param_2 + 4" identifier = (binary_expression "param_2 + 4" identifier + number_literal)) ;) (expression_statement "param_2[1] = (ulong)puVar1;" (assignment_expression "param_2[1] = (ulong)puVar1" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (cast_expression "(ulong)puVar1" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" * identifier) = number_literal) ;) (expression_statement "puVar2 = param_3 + 2;" (assignment_expression "puVar2 = param_3 + 2" identifier = (binary_expression "param_3 + 2" identifier + number_literal)) ;) (expression_statement "param_3[1] = (ulong)puVar2;" (assignment_expression "param_3[1] = (ulong)puVar2" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (cast_expression "(ulong)puVar2" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 7;" (assignment_expression "local_90 = 7" identifier = number_literal) ;) (expression_statement "local_68 = 7;" (assignment_expression "local_68 = 7" identifier = number_literal) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0xffffffffffffffff;" (assignment_expression "local_50 = 0xffffffffffffffff" identifier = number_literal) ;) (labeled_statement "LAB_00110cf5:\n  do {\n    pbVar8 = param_1;\n    if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }\n    param_1 = pbVar8 + 1;\n  } while (*pbVar8 != 0x25);" statement_identifier : (do_statement "do {\n    pbVar8 = param_1;\n    if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }\n    param_1 = pbVar8 + 1;\n  } while (*pbVar8 != 0x25);" do (compound_statement "{\n    pbVar8 = param_1;\n    if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }\n    param_1 = pbVar8 + 1;\n  }" { (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" identifier = identifier) ;) (if_statement "if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }" if (parenthesized_expression "(*pbVar8 == 0)" ( (binary_expression "*pbVar8 == 0" (pointer_expression "*pbVar8" * identifier) == number_literal) )) (compound_statement "{\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }" { (expression_statement "*(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;" (assignment_expression "*(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8" (pointer_expression "*(byte **)(*param_2 * 0x58 + param_2[1])" * (cast_expression "(byte **)(*param_2 * 0x58 + param_2[1])" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 * 0x58 + param_2[1])" ( (binary_expression "*param_2 * 0x58 + param_2[1]" (binary_expression "*param_2 * 0x58" (pointer_expression "*param_2" * identifier) * number_literal) + (subscript_expression "param_2[1]" identifier [ number_literal ])) )))) = identifier) ;) (expression_statement "param_2[2] = local_88;" (assignment_expression "param_2[2] = local_88" (subscript_expression "param_2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[3] = local_70;" (assignment_expression "param_2[3] = local_70" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_1 = pbVar8 + 1;" (assignment_expression "param_1 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pbVar8 != 0x25)" ( (binary_expression "*pbVar8 != 0x25" (pointer_expression "*pbVar8" * identifier) != number_literal) )) ;)) (expression_statement "puVar3 = (undefined8 *)(param_2[1] + *param_2 * 0x58);" (assignment_expression "puVar3 = (undefined8 *)(param_2[1] + *param_2 * 0x58)" identifier = (cast_expression "(undefined8 *)(param_2[1] + *param_2 * 0x58)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + *param_2 * 0x58)" ( (binary_expression "param_2[1] + *param_2 * 0x58" (subscript_expression "param_2[1]" identifier [ number_literal ]) + (binary_expression "*param_2 * 0x58" (pointer_expression "*param_2" * identifier) * number_literal)) )))) ;) (expression_statement "*puVar3 = pbVar8;" (assignment_expression "*puVar3 = pbVar8" (pointer_expression "*puVar3" * identifier) = identifier) ;) (expression_statement "*(undefined4 *)(puVar3 + 2) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 2) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 2)" * (cast_expression "(undefined4 *)(puVar3 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar3[3] = 0;" (assignment_expression "puVar3[3] = 0" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[4] = 0;" (assignment_expression "puVar3[4] = 0" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[5] = 0xffffffffffffffff;" (assignment_expression "puVar3[5] = 0xffffffffffffffff" (subscript_expression "puVar3[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[6] = 0;" (assignment_expression "puVar3[6] = 0" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[7] = 0;" (assignment_expression "puVar3[7] = 0" (subscript_expression "puVar3[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[8] = 0xffffffffffffffff;" (assignment_expression "puVar3[8] = 0xffffffffffffffff" (subscript_expression "puVar3[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[10] = 0xffffffffffffffff;" (assignment_expression "puVar3[10] = 0xffffffffffffffff" (subscript_expression "puVar3[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bVar6 = pbVar8[1];" (assignment_expression "bVar6 = pbVar8[1]" identifier = (subscript_expression "pbVar8[1]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = 0xffffffffffffffff;" (assignment_expression "uVar16 = 0xffffffffffffffff" identifier = number_literal) ;) (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" identifier = identifier) ;) (if_statement "if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    uVar16 = 0xffffffffffffffff;\n    if (bVar4 == 0x24) {\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }\n  }" if (parenthesized_expression "((byte)(bVar6 - 0x30) < 10)" ( (binary_expression "(byte)(bVar6 - 0x30) < 10" (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n    do {\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    uVar16 = 0xffffffffffffffff;\n    if (bVar4 == 0x24) {\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }\n  }" { (do_statement "do {\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);" do (compound_statement "{\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    }" { (expression_statement "bVar4 = pbVar8[1];" (assignment_expression "bVar4 = pbVar8[1]" identifier = (subscript_expression "pbVar8[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((byte)(bVar4 - 0x30) < 10)" ( (binary_expression "(byte)(bVar4 - 0x30) < 10" (call_expression "(byte)(bVar4 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar4 - 0x30)" ( (binary_expression "bVar4 - 0x30" identifier - number_literal) ))) < number_literal) )) ;) (expression_statement "uVar16 = 0xffffffffffffffff;" (assignment_expression "uVar16 = 0xffffffffffffffff" identifier = number_literal) ;) (if_statement "if (bVar4 == 0x24) {\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }" if (parenthesized_expression "(bVar4 == 0x24)" ( (binary_expression "bVar4 == 0x24" identifier == number_literal) )) (compound_statement "{\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }" { (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );" do (compound_statement "{\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      }" { (expression_statement "uVar10 = local_50;" (assignment_expression "uVar10 = local_50" identifier = identifier) ;) (if_statement "if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }" if (parenthesized_expression "(uVar16 < 0x199999999999999a)" ( (binary_expression "uVar16 < 0x199999999999999a" identifier < number_literal) )) (compound_statement "{\n          uVar10 = uVar16 * 10;\n        }" { (expression_statement "uVar10 = uVar16 * 10;" (assignment_expression "uVar10 = uVar16 * 10" identifier = (binary_expression "uVar16 * 10" identifier * number_literal)) ;) })) (expression_statement "uVar16 = (long)((char)bVar6 + -0x30) + uVar10;" (assignment_expression "uVar16 = (long)((char)bVar6 + -0x30) + uVar10" identifier = (binary_expression "(long)((char)bVar6 + -0x30) + uVar10" (cast_expression "(long)((char)bVar6 + -0x30)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((char)bVar6 + -0x30)" ( (binary_expression "(char)bVar6 + -0x30" (cast_expression "(char)bVar6" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ))) + identifier)) ;) (if_statement "if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }" if (parenthesized_expression "(CARRY8((long)((char)bVar6 + -0x30),uVar10))" ( (call_expression "CARRY8((long)((char)bVar6 + -0x30),uVar10)" identifier (argument_list "((long)((char)bVar6 + -0x30),uVar10)" ( (cast_expression "(long)((char)bVar6 + -0x30)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((char)bVar6 + -0x30)" ( (binary_expression "(char)bVar6 + -0x30" (cast_expression "(char)bVar6" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ))) , identifier ))) )) (compound_statement "{\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }" { (expression_statement "bVar6 = param_1[1];" (assignment_expression "bVar6 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = local_50;" (assignment_expression "uVar16 = local_50" identifier = identifier) ;) (if_statement "if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(9 < (byte)(bVar6 - 0x30))" ( (binary_expression "9 < (byte)(bVar6 - 0x30)" number_literal < (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) )))) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) }) (else_clause "else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }" else (compound_statement "{\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }" { (expression_statement "bVar6 = param_1[1];" (assignment_expression "bVar6 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (if_statement "if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;" if (parenthesized_expression "(9 < (byte)(bVar6 - 0x30))" ( (binary_expression "9 < (byte)(bVar6 - 0x30)" number_literal < (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) )))) )) (goto_statement "goto LAB_00110dec;" goto statement_identifier ;)) }))) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (goto_statement "goto LAB_00110e08;" goto statement_identifier ;) (labeled_statement "LAB_00110dec:\n  uVar16 = uVar16 - 1;" statement_identifier : (expression_statement "uVar16 = uVar16 - 1;" (assignment_expression "uVar16 = uVar16 - 1" identifier = (binary_expression "uVar16 - 1" identifier - number_literal)) ;)) (if_statement "if (uVar16 < 0xfffffffffffffffe) {\n    param_1 = param_1 + 2;\nLAB_00110e08:\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }" if (parenthesized_expression "(uVar16 < 0xfffffffffffffffe)" ( (binary_expression "uVar16 < 0xfffffffffffffffe" identifier < number_literal) )) (compound_statement "{\n    param_1 = param_1 + 2;\nLAB_00110e08:\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }" { (expression_statement "param_1 = param_1 + 2;" (assignment_expression "param_1 = param_1 + 2" identifier = (binary_expression "param_1 + 2" identifier + number_literal)) ;) (labeled_statement "LAB_00110e08:\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );" statement_identifier : (do_statement "do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );" do (compound_statement "{\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    }" { (expression_statement "bVar6 = *param_1;" (assignment_expression "bVar6 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" if (parenthesized_expression "(bVar6 == 0x27)" ( (binary_expression "bVar6 == 0x27" identifier == number_literal) )) (compound_statement "{\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }" { (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) = (binary_expression "*(uint *)(puVar3 + 2) | 1" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" else (if_statement "if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" if (parenthesized_expression "(bVar6 == 0x2d)" ( (binary_expression "bVar6 == 0x2d" identifier == number_literal) )) (compound_statement "{\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }" { (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) = (binary_expression "*(uint *)(puVar3 + 2) | 2" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" else (if_statement "if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" if (parenthesized_expression "(bVar6 == 0x2b)" ( (binary_expression "bVar6 == 0x2b" identifier == number_literal) )) (compound_statement "{\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }" { (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) = (binary_expression "*(uint *)(puVar3 + 2) | 4" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" else (if_statement "if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" if (parenthesized_expression "(bVar6 == 0x20)" ( (binary_expression "bVar6 == 0x20" identifier == number_literal) )) (compound_statement "{\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }" { (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) = (binary_expression "*(uint *)(puVar3 + 2) | 8" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" else (if_statement "if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" if (parenthesized_expression "(bVar6 == 0x23)" ( (binary_expression "bVar6 == 0x23" identifier == number_literal) )) (compound_statement "{\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }" { (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) = (binary_expression "*(uint *)(puVar3 + 2) | 0x10" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" else (if_statement "if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" if (parenthesized_expression "(bVar6 == 0x30)" ( (binary_expression "bVar6 == 0x30" identifier == number_literal) )) (compound_statement "{\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }" { (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) = (binary_expression "*(uint *)(puVar3 + 2) | 0x20" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" else (compound_statement "{\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" { (if_statement "if (bVar6 != 0x49) goto LAB_00110e55;" if (parenthesized_expression "(bVar6 != 0x49)" ( (binary_expression "bVar6 != 0x49" identifier != number_literal) )) (goto_statement "goto LAB_00110e55;" goto statement_identifier ;)) (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) = (binary_expression "*(uint *)(puVar3 + 2) | 0x40" (pointer_expression "*(uint *)(puVar3 + 2)" * (cast_expression "(uint *)(puVar3 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) | number_literal)) ;) }))))))))))))) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;) (labeled_statement "LAB_00110e55:\n  if (bVar6 == 0x2a) {\n    puVar3[3] = param_1;\n    pbVar8 = param_1 + 1;\n    puVar3[4] = pbVar8;\n    uVar10 = 1;\n    if (local_88 != 0) {\n      uVar10 = local_88;\n    }\n    bVar6 = param_1[1];\n    pbVar12 = pbVar8;\n    if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }\n    if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }" statement_identifier : (if_statement "if (bVar6 == 0x2a) {\n    puVar3[3] = param_1;\n    pbVar8 = param_1 + 1;\n    puVar3[4] = pbVar8;\n    uVar10 = 1;\n    if (local_88 != 0) {\n      uVar10 = local_88;\n    }\n    bVar6 = param_1[1];\n    pbVar12 = pbVar8;\n    if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }\n    if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }" if (parenthesized_expression "(bVar6 == 0x2a)" ( (binary_expression "bVar6 == 0x2a" identifier == number_literal) )) (compound_statement "{\n    puVar3[3] = param_1;\n    pbVar8 = param_1 + 1;\n    puVar3[4] = pbVar8;\n    uVar10 = 1;\n    if (local_88 != 0) {\n      uVar10 = local_88;\n    }\n    bVar6 = param_1[1];\n    pbVar12 = pbVar8;\n    if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }\n    if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }" { (expression_statement "puVar3[3] = param_1;" (assignment_expression "puVar3[3] = param_1" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar8 = param_1 + 1;" (assignment_expression "pbVar8 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) (expression_statement "puVar3[4] = pbVar8;" (assignment_expression "puVar3[4] = pbVar8" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (if_statement "if (local_88 != 0) {\n      uVar10 = local_88;\n    }" if (parenthesized_expression "(local_88 != 0)" ( (binary_expression "local_88 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar10 = local_88;\n    }" { (expression_statement "uVar10 = local_88;" (assignment_expression "uVar10 = local_88" identifier = identifier) ;) })) (expression_statement "bVar6 = param_1[1];" (assignment_expression "bVar6 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar12 = pbVar8;" (assignment_expression "pbVar12 = pbVar8" identifier = identifier) ;) (if_statement "if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }" if (parenthesized_expression "((byte)(bVar6 - 0x30) < 10)" ( (binary_expression "(byte)(bVar6 - 0x30) < 10" (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }" { (do_statement "do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);" do (compound_statement "{\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      }" { (expression_statement "bVar4 = pbVar12[1];" (assignment_expression "bVar4 = pbVar12[1]" identifier = (subscript_expression "pbVar12[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((byte)(bVar4 - 0x30) < 10)" ( (binary_expression "(byte)(bVar4 - 0x30) < 10" (call_expression "(byte)(bVar4 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar4 - 0x30)" ( (binary_expression "bVar4 - 0x30" identifier - number_literal) ))) < number_literal) )) ;) (if_statement "if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }" if (parenthesized_expression "(bVar4 == 0x24)" ( (binary_expression "bVar4 == 0x24" identifier == number_literal) )) (compound_statement "{\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );" do (compound_statement "{\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        }" { (expression_statement "uVar11 = local_50;" (assignment_expression "uVar11 = local_50" identifier = identifier) ;) (if_statement "if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }" if (parenthesized_expression "(uVar13 < 0x199999999999999a)" ( (binary_expression "uVar13 < 0x199999999999999a" identifier < number_literal) )) (compound_statement "{\n            uVar11 = uVar13 * 10;\n          }" { (expression_statement "uVar11 = uVar13 * 10;" (assignment_expression "uVar11 = uVar13 * 10" identifier = (binary_expression "uVar13 * 10" identifier * number_literal)) ;) })) (expression_statement "uVar13 = (long)((char)bVar6 + -0x30) + uVar11;" (assignment_expression "uVar13 = (long)((char)bVar6 + -0x30) + uVar11" identifier = (binary_expression "(long)((char)bVar6 + -0x30) + uVar11" (cast_expression "(long)((char)bVar6 + -0x30)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((char)bVar6 + -0x30)" ( (binary_expression "(char)bVar6 + -0x30" (cast_expression "(char)bVar6" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ))) + identifier)) ;) (if_statement "if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }" if (parenthesized_expression "(CARRY8((long)((char)bVar6 + -0x30),uVar11))" ( (call_expression "CARRY8((long)((char)bVar6 + -0x30),uVar11)" identifier (argument_list "((long)((char)bVar6 + -0x30),uVar11)" ( (cast_expression "(long)((char)bVar6 + -0x30)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((char)bVar6 + -0x30)" ( (binary_expression "(char)bVar6 + -0x30" (cast_expression "(char)bVar6" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ))) , identifier ))) )) (compound_statement "{\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }" { (expression_statement "bVar6 = pbVar8[1];" (assignment_expression "bVar6 = pbVar8[1]" identifier = (subscript_expression "pbVar8[1]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = local_50;" (assignment_expression "uVar13 = local_50" identifier = identifier) ;) (if_statement "if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(9 < (byte)(bVar6 - 0x30))" ( (binary_expression "9 < (byte)(bVar6 - 0x30)" number_literal < (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) )))) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) }) (else_clause "else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }" else (compound_statement "{\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }" { (expression_statement "bVar6 = pbVar8[1];" (assignment_expression "bVar6 = pbVar8[1]" identifier = (subscript_expression "pbVar8[1]" identifier [ number_literal ])) ;) (if_statement "if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;" if (parenthesized_expression "(9 < (byte)(bVar6 - 0x30))" ( (binary_expression "9 < (byte)(bVar6 - 0x30)" number_literal < (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) )))) )) (goto_statement "goto LAB_00111003;" goto statement_identifier ;)) }))) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (if_statement "if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }" if (parenthesized_expression "(puVar3[5] == -1)" ( (binary_expression "puVar3[5] == -1" (subscript_expression "puVar3[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }" { (expression_statement "puVar3[5] = local_60;" (assignment_expression "puVar3[5] = local_60" (subscript_expression "puVar3[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar17 = local_60 == -1;" (assignment_expression "bVar17 = local_60 == -1" identifier = (binary_expression "local_60 == -1" identifier == number_literal)) ;) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" identifier = (binary_expression "local_60 + 1" identifier + number_literal)) ;) (if_statement "if (bVar17) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(bVar17)" ( identifier )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00110ebb;" goto statement_identifier ;) }))) (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" identifier = identifier) ;) (expression_statement "uVar10 = local_88;" (assignment_expression "uVar10 = local_88" identifier = identifier) ;) (if_statement "if ((byte)(bVar6 - 0x30) < 10) {\n    puVar3[3] = param_1;\n    bVar6 = *param_1;\n    while ((byte)(bVar6 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }\n    puVar3[4] = pbVar8;\n    uVar10 = (long)pbVar8 - (long)param_1;\n    if ((ulong)((long)pbVar8 - (long)param_1) <= local_88) {\n      uVar10 = local_88;\n    }\n  }" if (parenthesized_expression "((byte)(bVar6 - 0x30) < 10)" ( (binary_expression "(byte)(bVar6 - 0x30) < 10" (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n    puVar3[3] = param_1;\n    bVar6 = *param_1;\n    while ((byte)(bVar6 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }\n    puVar3[4] = pbVar8;\n    uVar10 = (long)pbVar8 - (long)param_1;\n    if ((ulong)((long)pbVar8 - (long)param_1) <= local_88) {\n      uVar10 = local_88;\n    }\n  }" { (expression_statement "puVar3[3] = param_1;" (assignment_expression "puVar3[3] = param_1" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar6 = *param_1;" (assignment_expression "bVar6 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (while_statement "while ((byte)(bVar6 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }" while (parenthesized_expression "((byte)(bVar6 - 0x30) < 10)" ( (binary_expression "(byte)(bVar6 - 0x30) < 10" (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }" { (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "bVar6 = *pbVar8;" (assignment_expression "bVar6 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) })) (expression_statement "puVar3[4] = pbVar8;" (assignment_expression "puVar3[4] = pbVar8" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar10 = (long)pbVar8 - (long)param_1;" (assignment_expression "uVar10 = (long)pbVar8 - (long)param_1" identifier = (binary_expression "(long)pbVar8 - (long)param_1" (cast_expression "(long)pbVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (if_statement "if ((ulong)((long)pbVar8 - (long)param_1) <= local_88) {\n      uVar10 = local_88;\n    }" if (parenthesized_expression "((ulong)((long)pbVar8 - (long)param_1) <= local_88)" ( (binary_expression "(ulong)((long)pbVar8 - (long)param_1) <= local_88" (call_expression "(ulong)((long)pbVar8 - (long)param_1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)pbVar8 - (long)param_1)" ( (binary_expression "(long)pbVar8 - (long)param_1" (cast_expression "(long)pbVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) <= identifier) )) (compound_statement "{\n      uVar10 = local_88;\n    }" { (expression_statement "uVar10 = local_88;" (assignment_expression "uVar10 = local_88" identifier = identifier) ;) })) })) (labeled_statement "LAB_00110e66:\n  local_88 = uVar10;" statement_identifier : (expression_statement "local_88 = uVar10;" (assignment_expression "local_88 = uVar10" identifier = identifier) ;)) (expression_statement "param_1 = pbVar8;" (assignment_expression "param_1 = pbVar8" identifier = identifier) ;) (expression_statement "uVar10 = local_70;" (assignment_expression "uVar10 = local_70" identifier = identifier) ;) (if_statement "if (*pbVar8 != 0x2e) goto LAB_00110e6f;" if (parenthesized_expression "(*pbVar8 != 0x2e)" ( (binary_expression "*pbVar8 != 0x2e" (pointer_expression "*pbVar8" * identifier) != number_literal) )) (goto_statement "goto LAB_00110e6f;" goto statement_identifier ;)) (if_statement "if (pbVar8[1] != 0x2a) {\n    param_1 = pbVar8 + 1;\n    puVar3[6] = pbVar8;\n    bVar6 = pbVar8[1];\n    while ((byte)(bVar6 - 0x30) < 10) {\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }\n    puVar3[7] = param_1;\n    uVar10 = (long)param_1 - (long)pbVar8;\n    if ((ulong)((long)param_1 - (long)pbVar8) <= local_70) {\n      uVar10 = local_70;\n    }\n    goto LAB_00110e6f;\n  }" if (parenthesized_expression "(pbVar8[1] != 0x2a)" ( (binary_expression "pbVar8[1] != 0x2a" (subscript_expression "pbVar8[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    param_1 = pbVar8 + 1;\n    puVar3[6] = pbVar8;\n    bVar6 = pbVar8[1];\n    while ((byte)(bVar6 - 0x30) < 10) {\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }\n    puVar3[7] = param_1;\n    uVar10 = (long)param_1 - (long)pbVar8;\n    if ((ulong)((long)param_1 - (long)pbVar8) <= local_70) {\n      uVar10 = local_70;\n    }\n    goto LAB_00110e6f;\n  }" { (expression_statement "param_1 = pbVar8 + 1;" (assignment_expression "param_1 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "puVar3[6] = pbVar8;" (assignment_expression "puVar3[6] = pbVar8" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar6 = pbVar8[1];" (assignment_expression "bVar6 = pbVar8[1]" identifier = (subscript_expression "pbVar8[1]" identifier [ number_literal ])) ;) (while_statement "while ((byte)(bVar6 - 0x30) < 10) {\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }" while (parenthesized_expression "((byte)(bVar6 - 0x30) < 10)" ( (binary_expression "(byte)(bVar6 - 0x30) < 10" (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }" { (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) (expression_statement "bVar6 = *param_1;" (assignment_expression "bVar6 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) })) (expression_statement "puVar3[7] = param_1;" (assignment_expression "puVar3[7] = param_1" (subscript_expression "puVar3[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar10 = (long)param_1 - (long)pbVar8;" (assignment_expression "uVar10 = (long)param_1 - (long)pbVar8" identifier = (binary_expression "(long)param_1 - (long)pbVar8" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pbVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (if_statement "if ((ulong)((long)param_1 - (long)pbVar8) <= local_70) {\n      uVar10 = local_70;\n    }" if (parenthesized_expression "((ulong)((long)param_1 - (long)pbVar8) <= local_70)" ( (binary_expression "(ulong)((long)param_1 - (long)pbVar8) <= local_70" (call_expression "(ulong)((long)param_1 - (long)pbVar8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)param_1 - (long)pbVar8)" ( (binary_expression "(long)param_1 - (long)pbVar8" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pbVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) <= identifier) )) (compound_statement "{\n      uVar10 = local_70;\n    }" { (expression_statement "uVar10 = local_70;" (assignment_expression "uVar10 = local_70" identifier = identifier) ;) })) (goto_statement "goto LAB_00110e6f;" goto statement_identifier ;) })) (expression_statement "puVar3[6] = pbVar8;" (assignment_expression "puVar3[6] = pbVar8" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1 = pbVar8 + 2;" (assignment_expression "param_1 = pbVar8 + 2" identifier = (binary_expression "pbVar8 + 2" identifier + number_literal)) ;) (expression_statement "puVar3[7] = param_1;" (assignment_expression "puVar3[7] = param_1" (subscript_expression "puVar3[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar10 = 2;" (assignment_expression "uVar10 = 2" identifier = number_literal) ;) (if_statement "if (1 < local_70) {\n    uVar10 = local_70;\n  }" if (parenthesized_expression "(1 < local_70)" ( (binary_expression "1 < local_70" number_literal < identifier) )) (compound_statement "{\n    uVar10 = local_70;\n  }" { (expression_statement "uVar10 = local_70;" (assignment_expression "uVar10 = local_70" identifier = identifier) ;) })) (expression_statement "bVar6 = pbVar8[2];" (assignment_expression "bVar6 = pbVar8[2]" identifier = (subscript_expression "pbVar8[2]" identifier [ number_literal ])) ;) (expression_statement "pbVar12 = param_1;" (assignment_expression "pbVar12 = param_1" identifier = identifier) ;) (if_statement "if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    if (bVar4 == 0x24) {\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }\n  }" if (parenthesized_expression "((byte)(bVar6 - 0x30) < 10)" ( (binary_expression "(byte)(bVar6 - 0x30) < 10" (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n    do {\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    if (bVar4 == 0x24) {\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }\n  }" { (do_statement "do {\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);" do (compound_statement "{\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    }" { (expression_statement "bVar4 = pbVar12[1];" (assignment_expression "bVar4 = pbVar12[1]" identifier = (subscript_expression "pbVar12[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((byte)(bVar4 - 0x30) < 10)" ( (binary_expression "(byte)(bVar4 - 0x30) < 10" (call_expression "(byte)(bVar4 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar4 - 0x30)" ( (binary_expression "bVar4 - 0x30" identifier - number_literal) ))) < number_literal) )) ;) (if_statement "if (bVar4 == 0x24) {\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }" if (parenthesized_expression "(bVar4 == 0x24)" ( (binary_expression "bVar4 == 0x24" identifier == number_literal) )) (compound_statement "{\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }" { (expression_statement "pbVar8 = pbVar8 + 2;" (assignment_expression "pbVar8 = pbVar8 + 2" identifier = (binary_expression "pbVar8 + 2" identifier + number_literal)) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );" do (compound_statement "{\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      }" { (expression_statement "uVar11 = local_50;" (assignment_expression "uVar11 = local_50" identifier = identifier) ;) (if_statement "if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }" if (parenthesized_expression "(uVar13 < 0x199999999999999a)" ( (binary_expression "uVar13 < 0x199999999999999a" identifier < number_literal) )) (compound_statement "{\n          uVar11 = uVar13 * 10;\n        }" { (expression_statement "uVar11 = uVar13 * 10;" (assignment_expression "uVar11 = uVar13 * 10" identifier = (binary_expression "uVar13 * 10" identifier * number_literal)) ;) })) (expression_statement "uVar13 = (long)((char)bVar6 + -0x30) + uVar11;" (assignment_expression "uVar13 = (long)((char)bVar6 + -0x30) + uVar11" identifier = (binary_expression "(long)((char)bVar6 + -0x30) + uVar11" (cast_expression "(long)((char)bVar6 + -0x30)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((char)bVar6 + -0x30)" ( (binary_expression "(char)bVar6 + -0x30" (cast_expression "(char)bVar6" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ))) + identifier)) ;) (if_statement "if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }" if (parenthesized_expression "(CARRY8((long)((char)bVar6 + -0x30),uVar11))" ( (call_expression "CARRY8((long)((char)bVar6 + -0x30),uVar11)" identifier (argument_list "((long)((char)bVar6 + -0x30),uVar11)" ( (cast_expression "(long)((char)bVar6 + -0x30)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((char)bVar6 + -0x30)" ( (binary_expression "(char)bVar6 + -0x30" (cast_expression "(char)bVar6" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ))) , identifier ))) )) (compound_statement "{\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }" { (expression_statement "bVar6 = pbVar8[1];" (assignment_expression "bVar6 = pbVar8[1]" identifier = (subscript_expression "pbVar8[1]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = local_50;" (assignment_expression "uVar13 = local_50" identifier = identifier) ;) (if_statement "if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(9 < (byte)(bVar6 - 0x30))" ( (binary_expression "9 < (byte)(bVar6 - 0x30)" number_literal < (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) )))) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) }) (else_clause "else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }" else (compound_statement "{\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }" { (expression_statement "bVar6 = pbVar8[1];" (assignment_expression "bVar6 = pbVar8[1]" identifier = (subscript_expression "pbVar8[1]" identifier [ number_literal ])) ;) (if_statement "if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;" if (parenthesized_expression "(9 < (byte)(bVar6 - 0x30))" ( (binary_expression "9 < (byte)(bVar6 - 0x30)" number_literal < (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 0x30)" ( (binary_expression "bVar6 - 0x30" identifier - number_literal) )))) )) (goto_statement "goto LAB_00111244;" goto statement_identifier ;)) }))) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (if_statement "if (puVar3[8] == -1) {\n    puVar3[8] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }" if (parenthesized_expression "(puVar3[8] == -1)" ( (binary_expression "puVar3[8] == -1" (subscript_expression "puVar3[8]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    puVar3[8] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }" { (expression_statement "puVar3[8] = local_60;" (assignment_expression "puVar3[8] = local_60" (subscript_expression "puVar3[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar17 = local_60 == -1;" (assignment_expression "bVar17 = local_60 == -1" identifier = (binary_expression "local_60 == -1" identifier == number_literal)) ;) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" identifier = (binary_expression "local_60 + 1" identifier + number_literal)) ;) (if_statement "if (bVar17) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(bVar17)" ( identifier )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0011110c;" goto statement_identifier ;) (labeled_statement "LAB_00111003:\n  uVar13 = uVar13 - 1;" statement_identifier : (expression_statement "uVar13 = uVar13 - 1;" (assignment_expression "uVar13 = uVar13 - 1" identifier = (binary_expression "uVar13 - 1" identifier - number_literal)) ;)) (if_statement "if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(0xfffffffffffffffd < uVar13)" ( (binary_expression "0xfffffffffffffffd < uVar13" number_literal < identifier) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) (expression_statement "puVar3[5] = uVar13;" (assignment_expression "puVar3[5] = uVar13" (subscript_expression "puVar3[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar8 = pbVar8 + 2;" (assignment_expression "pbVar8 = pbVar8 + 2" identifier = (binary_expression "pbVar8 + 2" identifier + number_literal)) ;) (labeled_statement "LAB_00110ebb:\n  uVar13 = puVar3[5];" statement_identifier : (expression_statement "uVar13 = puVar3[5];" (assignment_expression "uVar13 = puVar3[5]" identifier = (subscript_expression "puVar3[5]" identifier [ number_literal ])) ;)) (if_statement "if (uVar13 < local_90) {\nLAB_00110f4e:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) goto switchD_001113be_caseD_26;\n    goto LAB_00110e66;\n  }" if (parenthesized_expression "(uVar13 < local_90)" ( (binary_expression "uVar13 < local_90" identifier < identifier) )) (compound_statement "{\nLAB_00110f4e:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) goto switchD_001113be_caseD_26;\n    goto LAB_00110e66;\n  }" { (labeled_statement "LAB_00110f4e:\n    uVar11 = *param_3;" statement_identifier : (expression_statement "uVar11 = *param_3;" (assignment_expression "uVar11 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;)) (while_statement "while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }" while (parenthesized_expression "(uVar11 <= uVar13)" ( (binary_expression "uVar11 <= uVar13" identifier <= identifier) )) (compound_statement "{\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }" { (expression_statement "*param_3 = uVar11 + 1;" (assignment_expression "*param_3 = uVar11 + 1" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar11 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;" (assignment_expression "*(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0" (pointer_expression "*(undefined4 *)(uVar11 * 0x20 + param_3[1])" * (cast_expression "(undefined4 *)(uVar11 * 0x20 + param_3[1])" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 * 0x20 + param_3[1])" ( (binary_expression "uVar11 * 0x20 + param_3[1]" (binary_expression "uVar11 * 0x20" identifier * number_literal) + (subscript_expression "param_3[1]" identifier [ number_literal ])) )))) = number_literal) ;) (expression_statement "uVar11 = *param_3;" (assignment_expression "uVar11 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) })) (expression_statement "piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);" (assignment_expression "piVar9 = (int *)(uVar13 * 0x20 + param_3[1])" identifier = (cast_expression "(int *)(uVar13 * 0x20 + param_3[1])" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar13 * 0x20 + param_3[1])" ( (binary_expression "uVar13 * 0x20 + param_3[1]" (binary_expression "uVar13 * 0x20" identifier * number_literal) + (subscript_expression "param_3[1]" identifier [ number_literal ])) )))) ;) (expression_statement "iVar7 = *piVar9;" (assignment_expression "iVar7 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (if_statement "if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      *piVar9 = 5;\n    }" { (expression_statement "*piVar9 = 5;" (assignment_expression "*piVar9 = 5" (pointer_expression "*piVar9" * identifier) = number_literal) ;) }) (else_clause "else if (iVar7 != 5) goto switchD_001113be_caseD_26;" else (if_statement "if (iVar7 != 5) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(iVar7 != 5)" ( (binary_expression "iVar7 != 5" identifier != number_literal) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)))) (goto_statement "goto LAB_00110e66;" goto statement_identifier ;) })) (if_statement "if ((-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)))) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }\n    if (local_78 != (void *)0x0) {\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }\n  }" if (parenthesized_expression "((-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000))))" ( (binary_expression "(-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)))" (parenthesized_expression "(-1 < (long)local_90)" ( (binary_expression "-1 < (long)local_90" number_literal < (cast_expression "(long)local_90" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) && (parenthesized_expression "(((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)))" ( (parenthesized_expression "((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000))" ( (binary_expression "(local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)" (parenthesized_expression "(local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))" ( (comma_expression "local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90)" (assignment_expression "local_90 = local_90 * 2" identifier = (binary_expression "local_90 * 2" identifier * number_literal)) , (binary_expression "uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90)" (binary_expression "uVar13 < local_90" identifier < identifier) || (parenthesized_expression "(local_90 = uVar13 + 1, uVar13 <= local_90)" ( (comma_expression "local_90 = uVar13 + 1, uVar13 <= local_90" (assignment_expression "local_90 = uVar13 + 1" identifier = (binary_expression "uVar13 + 1" identifier + number_literal)) , (binary_expression "uVar13 <= local_90" identifier <= identifier)) )))) )) && (parenthesized_expression "(local_90 < 0x800000000000000)" ( (binary_expression "local_90 < 0x800000000000000" identifier < number_literal) ))) )) ))) )) (compound_statement "{\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }\n    if (local_78 != (void *)0x0) {\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }\n  }" { (if_statement "if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }" if (parenthesized_expression "(puVar2 == (ulong *)param_3[1])" ( (binary_expression "puVar2 == (ulong *)param_3[1]" identifier == (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) )) (compound_statement "{\n      local_78 = malloc(local_90 << 5);\n    }" { (expression_statement "local_78 = malloc(local_90 << 5);" (assignment_expression "local_78 = malloc(local_90 << 5)" identifier = (call_expression "malloc(local_90 << 5)" identifier (argument_list "(local_90 << 5)" ( (binary_expression "local_90 << 5" identifier << number_literal) )))) ;) }) (else_clause "else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }" else (compound_statement "{\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }" { (expression_statement "local_78 = realloc((ulong *)param_3[1],local_90 << 5);" (assignment_expression "local_78 = realloc((ulong *)param_3[1],local_90 << 5)" identifier = (call_expression "realloc((ulong *)param_3[1],local_90 << 5)" identifier (argument_list "((ulong *)param_3[1],local_90 << 5)" ( (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ])) , (binary_expression "local_90 << 5" identifier << number_literal) )))) ;) }))) (if_statement "if (local_78 != (void *)0x0) {\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }" if (parenthesized_expression "(local_78 != (void *)0x0)" ( (binary_expression "local_78 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }" { (if_statement "if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }" if (parenthesized_expression "(puVar2 == (ulong *)param_3[1])" ( (binary_expression "puVar2 == (ulong *)param_3[1]" identifier == (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) )) (compound_statement "{\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }" { (expression_statement "memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);" (call_expression "memcpy(local_78,(ulong *)param_3[1],*param_3 << 5)" identifier (argument_list "(local_78,(ulong *)param_3[1],*param_3 << 5)" ( identifier , (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ])) , (binary_expression "*param_3 << 5" (pointer_expression "*param_3" * identifier) << number_literal) ))) ;) })) (expression_statement "param_3[1] = (ulong)local_78;" (assignment_expression "param_3[1] = (ulong)local_78" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (cast_expression "(ulong)local_78" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_00110f4e;" goto statement_identifier ;) })) })) (goto_statement "goto LAB_00111292;" goto statement_identifier ;) (labeled_statement "LAB_0011139e:\n  param_1 = param_1 + 1;" statement_identifier : (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;)) (switch_statement "switch(bVar6) {\n  case 0x25:\n    goto switchD_001113be_caseD_25;\n  default:\n    goto switchD_001113be_caseD_26;\n  case 0x41:\n  case 0x45:\n  case 0x46:\n  case 0x47:\n  case 0x61:\n  case 0x65:\n  case 0x66:\n  case 0x67:\n    iVar7 = 0xc;\n    if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }\n    break;\n  case 0x43:\n    iVar7 = 0xe;\n    bVar6 = 99;\n    break;\n  case 0x53:\n    iVar7 = 0x10;\n    bVar6 = 0x73;\n    break;\n  case 0x58:\n  case 0x6f:\n  case 0x75:\n  case 0x78:\n    iVar7 = 10;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }\n    break;\n  case 99:\n    iVar7 = (7 < (int)uVar14) + 0xd;\n    break;\n  case 100:\n  case 0x69:\n    iVar7 = 9;\n    if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }\n    break;\n  case 0x6e:\n    iVar7 = 0x16;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }\n    break;\n  case 0x70:\n    iVar7 = 0x11;\n    break;\n  case 0x73:\n    iVar7 = (7 < (int)uVar14) + 0xf;\n  }" switch (parenthesized_expression "(bVar6)" ( identifier )) (compound_statement "{\n  case 0x25:\n    goto switchD_001113be_caseD_25;\n  default:\n    goto switchD_001113be_caseD_26;\n  case 0x41:\n  case 0x45:\n  case 0x46:\n  case 0x47:\n  case 0x61:\n  case 0x65:\n  case 0x66:\n  case 0x67:\n    iVar7 = 0xc;\n    if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }\n    break;\n  case 0x43:\n    iVar7 = 0xe;\n    bVar6 = 99;\n    break;\n  case 0x53:\n    iVar7 = 0x10;\n    bVar6 = 0x73;\n    break;\n  case 0x58:\n  case 0x6f:\n  case 0x75:\n  case 0x78:\n    iVar7 = 10;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }\n    break;\n  case 99:\n    iVar7 = (7 < (int)uVar14) + 0xd;\n    break;\n  case 100:\n  case 0x69:\n    iVar7 = 9;\n    if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }\n    break;\n  case 0x6e:\n    iVar7 = 0x16;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }\n    break;\n  case 0x70:\n    iVar7 = 0x11;\n    break;\n  case 0x73:\n    iVar7 = (7 < (int)uVar14) + 0xf;\n  }" { (case_statement "case 0x25:\n    goto switchD_001113be_caseD_25;" case number_literal : (goto_statement "goto switchD_001113be_caseD_25;" goto statement_identifier ;)) (case_statement "default:\n    goto switchD_001113be_caseD_26;" default : (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) (case_statement "case 0x41:" case number_literal :) (case_statement "case 0x45:" case number_literal :) (case_statement "case 0x46:" case number_literal :) (case_statement "case 0x47:" case number_literal :) (case_statement "case 0x61:" case number_literal :) (case_statement "case 0x65:" case number_literal :) (case_statement "case 0x66:" case number_literal :) (case_statement "case 0x67:\n    iVar7 = 0xc;\n    if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }\n    break;" case number_literal : (expression_statement "iVar7 = 0xc;" (assignment_expression "iVar7 = 0xc" identifier = number_literal) ;) (if_statement "if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }" if (parenthesized_expression "((int)uVar14 < 0x10)" ( (binary_expression "(int)uVar14 < 0x10" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }" { (expression_statement "iVar7 = ((uVar14 & 4) != 0) + 0xb;" (assignment_expression "iVar7 = ((uVar14 & 4) != 0) + 0xb" identifier = (binary_expression "((uVar14 & 4) != 0) + 0xb" (parenthesized_expression "((uVar14 & 4) != 0)" ( (binary_expression "(uVar14 & 4) != 0" (parenthesized_expression "(uVar14 & 4)" ( (binary_expression "uVar14 & 4" identifier & number_literal) )) != number_literal) )) + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x43:\n    iVar7 = 0xe;\n    bVar6 = 99;\n    break;" case number_literal : (expression_statement "iVar7 = 0xe;" (assignment_expression "iVar7 = 0xe" identifier = number_literal) ;) (expression_statement "bVar6 = 99;" (assignment_expression "bVar6 = 99" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x53:\n    iVar7 = 0x10;\n    bVar6 = 0x73;\n    break;" case number_literal : (expression_statement "iVar7 = 0x10;" (assignment_expression "iVar7 = 0x10" identifier = number_literal) ;) (expression_statement "bVar6 = 0x73;" (assignment_expression "bVar6 = 0x73" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x58:" case number_literal :) (case_statement "case 0x6f:" case number_literal :) (case_statement "case 0x75:" case number_literal :) (case_statement "case 0x78:\n    iVar7 = 10;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }\n    break;" case number_literal : (expression_statement "iVar7 = 10;" (assignment_expression "iVar7 = 10" identifier = number_literal) ;) (if_statement "if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }" if (parenthesized_expression "((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0))))" ( (binary_expression "(((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))" (parenthesized_expression "(((int)uVar14 < 0x10) && ((uVar14 & 4) == 0))" ( (binary_expression "((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)" (parenthesized_expression "((int)uVar14 < 0x10)" ( (binary_expression "(int)uVar14 < 0x10" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "((uVar14 & 4) == 0)" ( (binary_expression "(uVar14 & 4) == 0" (parenthesized_expression "(uVar14 & 4)" ( (binary_expression "uVar14 & 4" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))" ( (parenthesized_expression "(iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0))" ( (comma_expression "iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)" (assignment_expression "iVar7 = 8" identifier = number_literal) , (binary_expression "(int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)" (binary_expression "(int)uVar14 < 8" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) && (parenthesized_expression "(iVar7 = 2, (uVar14 & 2) == 0)" ( (comma_expression "iVar7 = 2, (uVar14 & 2) == 0" (assignment_expression "iVar7 = 2" identifier = number_literal) , (binary_expression "(uVar14 & 2) == 0" (parenthesized_expression "(uVar14 & 2)" ( (binary_expression "uVar14 & 2" identifier & number_literal) )) == number_literal)) )))) )) ))) )) (compound_statement "{\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }" { (expression_statement "iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;" (assignment_expression "iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4" identifier = (binary_expression "(-(uint)((uVar14 & 1) == 0) & 2) + 4" (parenthesized_expression "(-(uint)((uVar14 & 1) == 0) & 2)" ( (binary_expression "-(uint)((uVar14 & 1) == 0) & 2" (unary_expression "-(uint)((uVar14 & 1) == 0)" - (call_expression "(uint)((uVar14 & 1) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar14 & 1) == 0)" ( (binary_expression "(uVar14 & 1) == 0" (parenthesized_expression "(uVar14 & 1)" ( (binary_expression "uVar14 & 1" identifier & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 99:\n    iVar7 = (7 < (int)uVar14) + 0xd;\n    break;" case number_literal : (expression_statement "iVar7 = (7 < (int)uVar14) + 0xd;" (assignment_expression "iVar7 = (7 < (int)uVar14) + 0xd" identifier = (binary_expression "(7 < (int)uVar14) + 0xd" (parenthesized_expression "(7 < (int)uVar14)" ( (binary_expression "7 < (int)uVar14" number_literal < (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 100:" case number_literal :) (case_statement "case 0x69:\n    iVar7 = 9;\n    if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }\n    break;" case number_literal : (expression_statement "iVar7 = 9;" (assignment_expression "iVar7 = 9" identifier = number_literal) ;) (if_statement "if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }" if (parenthesized_expression "(((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0))" ( (binary_expression "((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)" (parenthesized_expression "((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8))" ( (binary_expression "(((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)" (parenthesized_expression "(((int)uVar14 < 0x10) && ((uVar14 & 4) == 0))" ( (binary_expression "((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)" (parenthesized_expression "((int)uVar14 < 0x10)" ( (binary_expression "(int)uVar14 < 0x10" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "((uVar14 & 4) == 0)" ( (binary_expression "(uVar14 & 4) == 0" (parenthesized_expression "(uVar14 & 4)" ( (binary_expression "uVar14 & 4" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(iVar7 = 7, (int)uVar14 < 8)" ( (comma_expression "iVar7 = 7, (int)uVar14 < 8" (assignment_expression "iVar7 = 7" identifier = number_literal) , (binary_expression "(int)uVar14 < 8" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ))) )) && (parenthesized_expression "(iVar7 = 1, (uVar14 & 2) == 0)" ( (comma_expression "iVar7 = 1, (uVar14 & 2) == 0" (assignment_expression "iVar7 = 1" identifier = number_literal) , (binary_expression "(uVar14 & 2) == 0" (parenthesized_expression "(uVar14 & 2)" ( (binary_expression "uVar14 & 2" identifier & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }" { (expression_statement "iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;" (assignment_expression "iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3" identifier = (binary_expression "(-(uint)((uVar14 & 1) == 0) & 2) + 3" (parenthesized_expression "(-(uint)((uVar14 & 1) == 0) & 2)" ( (binary_expression "-(uint)((uVar14 & 1) == 0) & 2" (unary_expression "-(uint)((uVar14 & 1) == 0)" - (call_expression "(uint)((uVar14 & 1) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar14 & 1) == 0)" ( (binary_expression "(uVar14 & 1) == 0" (parenthesized_expression "(uVar14 & 1)" ( (binary_expression "uVar14 & 1" identifier & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x6e:\n    iVar7 = 0x16;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }\n    break;" case number_literal : (expression_statement "iVar7 = 0x16;" (assignment_expression "iVar7 = 0x16" identifier = number_literal) ;) (if_statement "if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }" if (parenthesized_expression "((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0))))" ( (binary_expression "(((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))" (parenthesized_expression "(((int)uVar14 < 0x10) && ((uVar14 & 4) == 0))" ( (binary_expression "((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)" (parenthesized_expression "((int)uVar14 < 0x10)" ( (binary_expression "(int)uVar14 < 0x10" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "((uVar14 & 4) == 0)" ( (binary_expression "(uVar14 & 4) == 0" (parenthesized_expression "(uVar14 & 4)" ( (binary_expression "uVar14 & 4" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))" ( (parenthesized_expression "(iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0))" ( (comma_expression "iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)" (assignment_expression "iVar7 = 0x15" identifier = number_literal) , (binary_expression "(int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)" (binary_expression "(int)uVar14 < 8" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) && (parenthesized_expression "(iVar7 = 0x12, (uVar14 & 2) == 0)" ( (comma_expression "iVar7 = 0x12, (uVar14 & 2) == 0" (assignment_expression "iVar7 = 0x12" identifier = number_literal) , (binary_expression "(uVar14 & 2) == 0" (parenthesized_expression "(uVar14 & 2)" ( (binary_expression "uVar14 & 2" identifier & number_literal) )) == number_literal)) )))) )) ))) )) (compound_statement "{\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }" { (expression_statement "iVar7 = (uVar14 & 1 ^ 1) + 0x13;" (assignment_expression "iVar7 = (uVar14 & 1 ^ 1) + 0x13" identifier = (binary_expression "(uVar14 & 1 ^ 1) + 0x13" (parenthesized_expression "(uVar14 & 1 ^ 1)" ( (binary_expression "uVar14 & 1 ^ 1" (binary_expression "uVar14 & 1" identifier & number_literal) ^ number_literal) )) + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x70:\n    iVar7 = 0x11;\n    break;" case number_literal : (expression_statement "iVar7 = 0x11;" (assignment_expression "iVar7 = 0x11" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x73:\n    iVar7 = (7 < (int)uVar14) + 0xf;" case number_literal : (expression_statement "iVar7 = (7 < (int)uVar14) + 0xf;" (assignment_expression "iVar7 = (7 < (int)uVar14) + 0xf" identifier = (binary_expression "(7 < (int)uVar14) + 0xf" (parenthesized_expression "(7 < (int)uVar14)" ( (binary_expression "7 < (int)uVar14" number_literal < (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) + number_literal)) ;)) })) (if_statement "if (uVar16 == 0xffffffffffffffff) {\n    puVar3[10] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }\n  else {\n    puVar3[10] = uVar16;\n  }" if (parenthesized_expression "(uVar16 == 0xffffffffffffffff)" ( (binary_expression "uVar16 == 0xffffffffffffffff" identifier == number_literal) )) (compound_statement "{\n    puVar3[10] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }" { (expression_statement "puVar3[10] = local_60;" (assignment_expression "puVar3[10] = local_60" (subscript_expression "puVar3[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar17 = local_60 == -1;" (assignment_expression "bVar17 = local_60 == -1" identifier = (binary_expression "local_60 == -1" identifier == number_literal)) ;) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" identifier = (binary_expression "local_60 + 1" identifier + number_literal)) ;) (if_statement "if (bVar17) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(bVar17)" ( identifier )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) }) (else_clause "else {\n    puVar3[10] = uVar16;\n  }" else (compound_statement "{\n    puVar3[10] = uVar16;\n  }" { (expression_statement "puVar3[10] = uVar16;" (assignment_expression "puVar3[10] = uVar16" (subscript_expression "puVar3[10]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "uVar16 = puVar3[10];" (assignment_expression "uVar16 = puVar3[10]" identifier = (subscript_expression "puVar3[10]" identifier [ number_literal ])) ;) (if_statement "if (uVar16 < local_90) {\nLAB_001115b1:\n    uVar10 = *param_3;\n    while (uVar10 <= uVar16) {\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }\n    piVar9 = (int *)(uVar16 * 0x20 + param_3[1]);\n    iVar5 = *piVar9;\n    if (iVar5 == 0) {\n      *piVar9 = iVar7;\n    }\n    else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;\nswitchD_001113be_caseD_25:\n    *(byte *)(puVar3 + 9) = bVar6;\n    puVar3[1] = param_1;\n    uVar16 = *param_2;\n    *param_2 = uVar16 + 1;\n    if (uVar16 + 1 < local_68) goto LAB_00110cf5;\n    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;\n    puVar15 = (ulong *)param_2[1];\n    if (puVar1 != puVar15) {\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }\n    __dest = malloc(local_68 * 0xb0);\n    if (__dest != (void *)0x0) goto LAB_00111732;\n    puVar15 = (ulong *)param_3[1];\n    if (puVar2 == puVar15) goto LAB_001112b2;\n    goto LAB_0011129d;\n  }" if (parenthesized_expression "(uVar16 < local_90)" ( (binary_expression "uVar16 < local_90" identifier < identifier) )) (compound_statement "{\nLAB_001115b1:\n    uVar10 = *param_3;\n    while (uVar10 <= uVar16) {\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }\n    piVar9 = (int *)(uVar16 * 0x20 + param_3[1]);\n    iVar5 = *piVar9;\n    if (iVar5 == 0) {\n      *piVar9 = iVar7;\n    }\n    else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;\nswitchD_001113be_caseD_25:\n    *(byte *)(puVar3 + 9) = bVar6;\n    puVar3[1] = param_1;\n    uVar16 = *param_2;\n    *param_2 = uVar16 + 1;\n    if (uVar16 + 1 < local_68) goto LAB_00110cf5;\n    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;\n    puVar15 = (ulong *)param_2[1];\n    if (puVar1 != puVar15) {\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }\n    __dest = malloc(local_68 * 0xb0);\n    if (__dest != (void *)0x0) goto LAB_00111732;\n    puVar15 = (ulong *)param_3[1];\n    if (puVar2 == puVar15) goto LAB_001112b2;\n    goto LAB_0011129d;\n  }" { (labeled_statement "LAB_001115b1:\n    uVar10 = *param_3;" statement_identifier : (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;)) (while_statement "while (uVar10 <= uVar16) {\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }" while (parenthesized_expression "(uVar10 <= uVar16)" ( (binary_expression "uVar10 <= uVar16" identifier <= identifier) )) (compound_statement "{\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }" { (expression_statement "*param_3 = uVar10 + 1;" (assignment_expression "*param_3 = uVar10 + 1" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;" (assignment_expression "*(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0" (pointer_expression "*(undefined4 *)(uVar10 * 0x20 + param_3[1])" * (cast_expression "(undefined4 *)(uVar10 * 0x20 + param_3[1])" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 * 0x20 + param_3[1])" ( (binary_expression "uVar10 * 0x20 + param_3[1]" (binary_expression "uVar10 * 0x20" identifier * number_literal) + (subscript_expression "param_3[1]" identifier [ number_literal ])) )))) = number_literal) ;) (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) })) (expression_statement "piVar9 = (int *)(uVar16 * 0x20 + param_3[1]);" (assignment_expression "piVar9 = (int *)(uVar16 * 0x20 + param_3[1])" identifier = (cast_expression "(int *)(uVar16 * 0x20 + param_3[1])" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar16 * 0x20 + param_3[1])" ( (binary_expression "uVar16 * 0x20 + param_3[1]" (binary_expression "uVar16 * 0x20" identifier * number_literal) + (subscript_expression "param_3[1]" identifier [ number_literal ])) )))) ;) (expression_statement "iVar5 = *piVar9;" (assignment_expression "iVar5 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (if_statement "if (iVar5 == 0) {\n      *piVar9 = iVar7;\n    }\n    else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      *piVar9 = iVar7;\n    }" { (expression_statement "*piVar9 = iVar7;" (assignment_expression "*piVar9 = iVar7" (pointer_expression "*piVar9" * identifier) = identifier) ;) }) (else_clause "else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;" else (if_statement "if (iVar5 != iVar7) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(iVar5 != iVar7)" ( (binary_expression "iVar5 != iVar7" identifier != identifier) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)))) (labeled_statement "switchD_001113be_caseD_25:\n    *(byte *)(puVar3 + 9) = bVar6;" statement_identifier : (expression_statement "*(byte *)(puVar3 + 9) = bVar6;" (assignment_expression "*(byte *)(puVar3 + 9) = bVar6" (pointer_expression "*(byte *)(puVar3 + 9)" * (cast_expression "(byte *)(puVar3 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 9)" ( (binary_expression "puVar3 + 9" identifier + number_literal) )))) = identifier) ;)) (expression_statement "puVar3[1] = param_1;" (assignment_expression "puVar3[1] = param_1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar16 = *param_2;" (assignment_expression "uVar16 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "*param_2 = uVar16 + 1;" (assignment_expression "*param_2 = uVar16 + 1" (pointer_expression "*param_2" * identifier) = (binary_expression "uVar16 + 1" identifier + number_literal)) ;) (if_statement "if (uVar16 + 1 < local_68) goto LAB_00110cf5;" if (parenthesized_expression "(uVar16 + 1 < local_68)" ( (binary_expression "uVar16 + 1 < local_68" (binary_expression "uVar16 + 1" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00110cf5;" goto statement_identifier ;)) (if_statement "if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;" if (parenthesized_expression "(((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2))" ( (binary_expression "((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)" (parenthesized_expression "((long)local_68 < 0)" ( (binary_expression "(long)local_68 < 0" (cast_expression "(long)local_68" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < number_literal) )) || (parenthesized_expression "(0x2e8ba2e8ba2e8ba < local_68 * 2)" ( (binary_expression "0x2e8ba2e8ba2e8ba < local_68 * 2" number_literal < (binary_expression "local_68 * 2" identifier * number_literal)) ))) )) (goto_statement "goto LAB_00111292;" goto statement_identifier ;)) (expression_statement "puVar15 = (ulong *)param_2[1];" (assignment_expression "puVar15 = (ulong *)param_2[1]" identifier = (cast_expression "(ulong *)param_2[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ]))) ;) (if_statement "if (puVar1 != puVar15) {\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }" if (parenthesized_expression "(puVar1 != puVar15)" ( (binary_expression "puVar1 != puVar15" identifier != identifier) )) (compound_statement "{\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }" { (expression_statement "__dest = realloc(puVar15,local_68 * 0xb0);" (assignment_expression "__dest = realloc(puVar15,local_68 * 0xb0)" identifier = (call_expression "realloc(puVar15,local_68 * 0xb0)" identifier (argument_list "(puVar15,local_68 * 0xb0)" ( identifier , (binary_expression "local_68 * 0xb0" identifier * number_literal) )))) ;) (if_statement "if (__dest == (void *)0x0) goto LAB_00111292;" if (parenthesized_expression "(__dest == (void *)0x0)" ( (binary_expression "__dest == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00111292;" goto statement_identifier ;)) (expression_statement "puVar15 = (ulong *)param_2[1];" (assignment_expression "puVar15 = (ulong *)param_2[1]" identifier = (cast_expression "(ulong *)param_2[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ]))) ;) (if_statement "if (puVar1 != puVar15) goto LAB_0011166e;" if (parenthesized_expression "(puVar1 != puVar15)" ( (binary_expression "puVar1 != puVar15" identifier != identifier) )) (goto_statement "goto LAB_0011166e;" goto statement_identifier ;)) (labeled_statement "LAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);" statement_identifier : (expression_statement "memcpy(__dest,puVar15,*param_2 * 0x58);" (call_expression "memcpy(__dest,puVar15,*param_2 * 0x58)" identifier (argument_list "(__dest,puVar15,*param_2 * 0x58)" ( identifier , identifier , (binary_expression "*param_2 * 0x58" (pointer_expression "*param_2" * identifier) * number_literal) ))) ;)) (labeled_statement "LAB_0011166e:\n      param_2[1] = (ulong)__dest;" statement_identifier : (expression_statement "param_2[1] = (ulong)__dest;" (assignment_expression "param_2[1] = (ulong)__dest" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (cast_expression "(ulong)__dest" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;)) (expression_statement "local_68 = local_68 * 2;" (assignment_expression "local_68 = local_68 * 2" identifier = (binary_expression "local_68 * 2" identifier * number_literal)) ;) (goto_statement "goto LAB_00110cf5;" goto statement_identifier ;) })) (expression_statement "__dest = malloc(local_68 * 0xb0);" (assignment_expression "__dest = malloc(local_68 * 0xb0)" identifier = (call_expression "malloc(local_68 * 0xb0)" identifier (argument_list "(local_68 * 0xb0)" ( (binary_expression "local_68 * 0xb0" identifier * number_literal) )))) ;) (if_statement "if (__dest != (void *)0x0) goto LAB_00111732;" if (parenthesized_expression "(__dest != (void *)0x0)" ( (binary_expression "__dest != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00111732;" goto statement_identifier ;)) (expression_statement "puVar15 = (ulong *)param_3[1];" (assignment_expression "puVar15 = (ulong *)param_3[1]" identifier = (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) ;) (if_statement "if (puVar2 == puVar15) goto LAB_001112b2;" if (parenthesized_expression "(puVar2 == puVar15)" ( (binary_expression "puVar2 == puVar15" identifier == identifier) )) (goto_statement "goto LAB_001112b2;" goto statement_identifier ;)) (goto_statement "goto LAB_0011129d;" goto statement_identifier ;) })) (if_statement "if ((((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))\n     || (0x7ffffffffffffff < local_90)) goto LAB_00111292;" if (parenthesized_expression "((((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))\n     || (0x7ffffffffffffff < local_90))" ( (binary_expression "(((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))\n     || (0x7ffffffffffffff < local_90)" (parenthesized_expression "(((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))" ( (binary_expression "((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16)))" (parenthesized_expression "((long)local_90 < 0)" ( (binary_expression "(long)local_90 < 0" (cast_expression "(long)local_90" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < number_literal) )) || (parenthesized_expression "((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16)))" ( (parenthesized_expression "(local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))" ( (comma_expression "local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16)" (assignment_expression "local_90 = local_90 * 2" identifier = (binary_expression "local_90 * 2" identifier * number_literal)) , (binary_expression "local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16)" (binary_expression "local_90 <= uVar16" identifier <= identifier) && (parenthesized_expression "(local_90 = uVar16 + 1, local_90 < uVar16)" ( (comma_expression "local_90 = uVar16 + 1, local_90 < uVar16" (assignment_expression "local_90 = uVar16 + 1" identifier = (binary_expression "uVar16 + 1" identifier + number_literal)) , (binary_expression "local_90 < uVar16" identifier < identifier)) )))) )) ))) )) || (parenthesized_expression "(0x7ffffffffffffff < local_90)" ( (binary_expression "0x7ffffffffffffff < local_90" number_literal < identifier) ))) )) (goto_statement "goto LAB_00111292;" goto statement_identifier ;)) (expression_statement "local_48 = (ulong *)param_3[1];" (assignment_expression "local_48 = (ulong *)param_3[1]" identifier = (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) ;) (if_statement "if (puVar2 != local_48) {\n    local_40 = realloc(local_48,local_90 << 5);\n    if (local_40 != (void *)0x0) {\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }\n    goto LAB_00111292;\n  }" if (parenthesized_expression "(puVar2 != local_48)" ( (binary_expression "puVar2 != local_48" identifier != identifier) )) (compound_statement "{\n    local_40 = realloc(local_48,local_90 << 5);\n    if (local_40 != (void *)0x0) {\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }\n    goto LAB_00111292;\n  }" { (expression_statement "local_40 = realloc(local_48,local_90 << 5);" (assignment_expression "local_40 = realloc(local_48,local_90 << 5)" identifier = (call_expression "realloc(local_48,local_90 << 5)" identifier (argument_list "(local_48,local_90 << 5)" ( identifier , (binary_expression "local_90 << 5" identifier << number_literal) )))) ;) (if_statement "if (local_40 != (void *)0x0) {\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }" if (parenthesized_expression "(local_40 != (void *)0x0)" ( (binary_expression "local_40 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }" { (expression_statement "local_48 = (ulong *)param_3[1];" (assignment_expression "local_48 = (ulong *)param_3[1]" identifier = (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) ;) (if_statement "if (puVar2 == local_48) goto LAB_001116c7;" if (parenthesized_expression "(puVar2 == local_48)" ( (binary_expression "puVar2 == local_48" identifier == identifier) )) (goto_statement "goto LAB_001116c7;" goto statement_identifier ;)) (goto_statement "goto LAB_001115a8;" goto statement_identifier ;) })) (goto_statement "goto LAB_00111292;" goto statement_identifier ;) })) (expression_statement "local_40 = malloc(local_90 << 5);" (assignment_expression "local_40 = malloc(local_90 << 5)" identifier = (call_expression "malloc(local_90 << 5)" identifier (argument_list "(local_90 << 5)" ( (binary_expression "local_90 << 5" identifier << number_literal) )))) ;) (if_statement "if (local_40 != (void *)0x0) {\nLAB_001116c7:\n    memcpy(local_40,local_48,*param_3 << 5);\nLAB_001115a8:\n    param_3[1] = (ulong)local_40;\n    goto LAB_001115b1;\n  }" if (parenthesized_expression "(local_40 != (void *)0x0)" ( (binary_expression "local_40 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001116c7:\n    memcpy(local_40,local_48,*param_3 << 5);\nLAB_001115a8:\n    param_3[1] = (ulong)local_40;\n    goto LAB_001115b1;\n  }" { (labeled_statement "LAB_001116c7:\n    memcpy(local_40,local_48,*param_3 << 5);" statement_identifier : (expression_statement "memcpy(local_40,local_48,*param_3 << 5);" (call_expression "memcpy(local_40,local_48,*param_3 << 5)" identifier (argument_list "(local_40,local_48,*param_3 << 5)" ( identifier , identifier , (binary_expression "*param_3 << 5" (pointer_expression "*param_3" * identifier) << number_literal) ))) ;)) (labeled_statement "LAB_001115a8:\n    param_3[1] = (ulong)local_40;" statement_identifier : (expression_statement "param_3[1] = (ulong)local_40;" (assignment_expression "param_3[1] = (ulong)local_40" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (cast_expression "(ulong)local_40" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;)) (goto_statement "goto LAB_001115b1;" goto statement_identifier ;) })) (goto_statement "goto LAB_001112a2;" goto statement_identifier ;) (labeled_statement "LAB_00111244:\n  uVar13 = uVar13 - 1;" statement_identifier : (expression_statement "uVar13 = uVar13 - 1;" (assignment_expression "uVar13 = uVar13 - 1" identifier = (binary_expression "uVar13 - 1" identifier - number_literal)) ;)) (if_statement "if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;" if (parenthesized_expression "(0xfffffffffffffffd < uVar13)" ( (binary_expression "0xfffffffffffffffd < uVar13" number_literal < identifier) )) (goto_statement "goto switchD_001113be_caseD_26;" goto statement_identifier ;)) (expression_statement "puVar3[8] = uVar13;" (assignment_expression "puVar3[8] = uVar13" (subscript_expression "puVar3[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1 = pbVar8 + 2;" (assignment_expression "param_1 = pbVar8 + 2" identifier = (binary_expression "pbVar8 + 2" identifier + number_literal)) ;) (labeled_statement "LAB_0011110c:\n  uVar13 = puVar3[8];" statement_identifier : (expression_statement "uVar13 = puVar3[8];" (assignment_expression "uVar13 = puVar3[8]" identifier = (subscript_expression "puVar3[8]" identifier [ number_literal ])) ;)) (if_statement "if (uVar13 < local_90) {\nLAB_0011118d:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }\nLAB_00110e6f:\n    local_70 = uVar10;\n    uVar14 = 0;\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }" if (parenthesized_expression "(uVar13 < local_90)" ( (binary_expression "uVar13 < local_90" identifier < identifier) )) (compound_statement "{\nLAB_0011118d:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }\nLAB_00110e6f:\n    local_70 = uVar10;\n    uVar14 = 0;\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }" { (labeled_statement "LAB_0011118d:\n    uVar11 = *param_3;" statement_identifier : (expression_statement "uVar11 = *param_3;" (assignment_expression "uVar11 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;)) (while_statement "while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }" while (parenthesized_expression "(uVar11 <= uVar13)" ( (binary_expression "uVar11 <= uVar13" identifier <= identifier) )) (compound_statement "{\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }" { (expression_statement "*param_3 = uVar11 + 1;" (assignment_expression "*param_3 = uVar11 + 1" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar11 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;" (assignment_expression "*(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0" (pointer_expression "*(undefined4 *)(uVar11 * 0x20 + param_3[1])" * (cast_expression "(undefined4 *)(uVar11 * 0x20 + param_3[1])" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 * 0x20 + param_3[1])" ( (binary_expression "uVar11 * 0x20 + param_3[1]" (binary_expression "uVar11 * 0x20" identifier * number_literal) + (subscript_expression "param_3[1]" identifier [ number_literal ])) )))) = number_literal) ;) (expression_statement "uVar11 = *param_3;" (assignment_expression "uVar11 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) })) (expression_statement "piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);" (assignment_expression "piVar9 = (int *)(uVar13 * 0x20 + param_3[1])" identifier = (cast_expression "(int *)(uVar13 * 0x20 + param_3[1])" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar13 * 0x20 + param_3[1])" ( (binary_expression "uVar13 * 0x20 + param_3[1]" (binary_expression "uVar13 * 0x20" identifier * number_literal) + (subscript_expression "param_3[1]" identifier [ number_literal ])) )))) ;) (expression_statement "iVar7 = *piVar9;" (assignment_expression "iVar7 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (if_statement "if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      *piVar9 = 5;\n    }" { (expression_statement "*piVar9 = 5;" (assignment_expression "*piVar9 = 5" (pointer_expression "*piVar9" * identifier) = number_literal) ;) }) (else_clause "else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }" else (if_statement "if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }" if (parenthesized_expression "(iVar7 != 5)" ( (binary_expression "iVar7 != 5" identifier != number_literal) )) (compound_statement "{\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }" { (labeled_statement "switchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }" statement_identifier : (if_statement "if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }" if (parenthesized_expression "(puVar2 != (ulong *)param_3[1])" ( (binary_expression "puVar2 != (ulong *)param_3[1]" identifier != (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) )) (compound_statement "{\n        free((ulong *)param_3[1]);\n      }" { (expression_statement "free((ulong *)param_3[1]);" (call_expression "free((ulong *)param_3[1])" identifier (argument_list "((ulong *)param_3[1])" ( (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ])) ))) ;) }))) (if_statement "if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }" if (parenthesized_expression "(puVar1 != (ulong *)param_2[1])" ( (binary_expression "puVar1 != (ulong *)param_2[1]" identifier != (cast_expression "(ulong *)param_2[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ]))) )) (compound_statement "{\n        free((ulong *)param_2[1]);\n      }" { (expression_statement "free((ulong *)param_2[1]);" (call_expression "free((ulong *)param_2[1])" identifier (argument_list "((ulong *)param_2[1])" ( (cast_expression "(ulong *)param_2[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ])) ))) ;) })) (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar9 = 0x16;" (assignment_expression "*piVar9 = 0x16" (pointer_expression "*piVar9" * identifier) = number_literal) ;) (return_statement "return 0xffffffff;" return number_literal ;) })))) (labeled_statement "LAB_00110e6f:\n    local_70 = uVar10;" statement_identifier : (expression_statement "local_70 = uVar10;" (assignment_expression "local_70 = uVar10" identifier = identifier) ;)) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (do_statement "do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    } while( true );" do (compound_statement "{\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    }" { (expression_statement "bVar6 = *param_1;" (assignment_expression "bVar6 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" if (parenthesized_expression "(bVar6 == 0x68)" ( (binary_expression "bVar6 == 0x68" identifier == number_literal) )) (compound_statement "{\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }" { (expression_statement "uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);" (assignment_expression "uVar14 = uVar14 | 1 << ((byte)uVar14 & 1)" identifier = (binary_expression "uVar14 | 1 << ((byte)uVar14 & 1)" identifier | (binary_expression "1 << ((byte)uVar14 & 1)" number_literal << (parenthesized_expression "((byte)uVar14 & 1)" ( (binary_expression "(byte)uVar14 & 1" (cast_expression "(byte)uVar14" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))))) ;) }) (else_clause "else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" else (if_statement "if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" if (parenthesized_expression "(bVar6 == 0x4c)" ( (binary_expression "bVar6 == 0x4c" identifier == number_literal) )) (compound_statement "{\n        uVar14 = uVar14 | 4;\n      }" { (expression_statement "uVar14 = uVar14 | 4;" (assignment_expression "uVar14 = uVar14 | 4" identifier = (binary_expression "uVar14 | 4" identifier | number_literal)) ;) }) (else_clause "else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" else (if_statement "if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" if (parenthesized_expression "(bVar6 == 0x6c)" ( (binary_expression "bVar6 == 0x6c" identifier == number_literal) )) (compound_statement "{\n        uVar14 = uVar14 + 8;\n      }" { (expression_statement "uVar14 = uVar14 + 8;" (assignment_expression "uVar14 = uVar14 + 8" identifier = (binary_expression "uVar14 + 8" identifier + number_literal)) ;) }) (else_clause "else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" else (if_statement "if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" if (parenthesized_expression "(bVar6 == 0x6a)" ( (binary_expression "bVar6 == 0x6a" identifier == number_literal) )) (compound_statement "{\n        uVar14 = uVar14 + 8;\n      }" { (expression_statement "uVar14 = uVar14 + 8;" (assignment_expression "uVar14 = uVar14 + 8" identifier = (binary_expression "uVar14 + 8" identifier + number_literal)) ;) }) (else_clause "else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" else (if_statement "if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" if (parenthesized_expression "((bVar6 & 0xdf) == 0x5a)" ( (binary_expression "(bVar6 & 0xdf) == 0x5a" (parenthesized_expression "(bVar6 & 0xdf)" ( (binary_expression "bVar6 & 0xdf" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar14 = uVar14 + 8;\n      }" { (expression_statement "uVar14 = uVar14 + 8;" (assignment_expression "uVar14 = uVar14 + 8" identifier = (binary_expression "uVar14 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" else (compound_statement "{\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" { (if_statement "if (bVar6 != 0x74) goto LAB_0011139e;" if (parenthesized_expression "(bVar6 != 0x74)" ( (binary_expression "bVar6 != 0x74" identifier != number_literal) )) (goto_statement "goto LAB_0011139e;" goto statement_identifier ;)) (expression_statement "uVar14 = uVar14 + 8;" (assignment_expression "uVar14 = uVar14 + 8" identifier = (binary_expression "uVar14 + 8" identifier + number_literal)) ;) }))))))))))) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if (((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))\n     && (local_90 < 0x800000000000000)) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }\n  }" if (parenthesized_expression "(((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))\n     && (local_90 < 0x800000000000000))" ( (binary_expression "((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))\n     && (local_90 < 0x800000000000000)" (parenthesized_expression "((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))" ( (binary_expression "(-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90)))" (parenthesized_expression "(-1 < (long)local_90)" ( (binary_expression "-1 < (long)local_90" number_literal < (cast_expression "(long)local_90" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) && (parenthesized_expression "((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90)))" ( (parenthesized_expression "(local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))" ( (comma_expression "local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90)" (assignment_expression "local_90 = local_90 * 2" identifier = (binary_expression "local_90 * 2" identifier * number_literal)) , (binary_expression "uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90)" (binary_expression "uVar13 < local_90" identifier < identifier) || (parenthesized_expression "(local_90 = uVar13 + 1, uVar13 <= local_90)" ( (comma_expression "local_90 = uVar13 + 1, uVar13 <= local_90" (assignment_expression "local_90 = uVar13 + 1" identifier = (binary_expression "uVar13 + 1" identifier + number_literal)) , (binary_expression "uVar13 <= local_90" identifier <= identifier)) )))) )) ))) )) && (parenthesized_expression "(local_90 < 0x800000000000000)" ( (binary_expression "local_90 < 0x800000000000000" identifier < number_literal) ))) )) (compound_statement "{\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }\n  }" { (if_statement "if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }" if (parenthesized_expression "(puVar2 == (ulong *)param_3[1])" ( (binary_expression "puVar2 == (ulong *)param_3[1]" identifier == (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) )) (compound_statement "{\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }" { (expression_statement "local_78 = malloc(local_90 << 5);" (assignment_expression "local_78 = malloc(local_90 << 5)" identifier = (call_expression "malloc(local_90 << 5)" identifier (argument_list "(local_90 << 5)" ( (binary_expression "local_90 << 5" identifier << number_literal) )))) ;) (if_statement "if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }" if (parenthesized_expression "(local_78 != (void *)0x0)" ( (binary_expression "local_78 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }" { (expression_statement "puVar15 = (ulong *)param_3[1];" (assignment_expression "puVar15 = (ulong *)param_3[1]" identifier = (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);" statement_identifier : (expression_statement "memcpy(local_78,puVar15,*param_3 << 5);" (call_expression "memcpy(local_78,puVar15,*param_3 << 5)" identifier (argument_list "(local_78,puVar15,*param_3 << 5)" ( identifier , identifier , (binary_expression "*param_3 << 5" (pointer_expression "*param_3" * identifier) << number_literal) ))) ;)) (goto_statement "goto LAB_00111184;" goto statement_identifier ;) })) }) (else_clause "else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }" else (compound_statement "{\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }" { (expression_statement "local_78 = realloc((ulong *)param_3[1],local_90 << 5);" (assignment_expression "local_78 = realloc((ulong *)param_3[1],local_90 << 5)" identifier = (call_expression "realloc((ulong *)param_3[1],local_90 << 5)" identifier (argument_list "((ulong *)param_3[1],local_90 << 5)" ( (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ])) , (binary_expression "local_90 << 5" identifier << number_literal) )))) ;) (if_statement "if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }" if (parenthesized_expression "(local_78 != (void *)0x0)" ( (binary_expression "local_78 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }" { (expression_statement "puVar15 = (ulong *)param_3[1];" (assignment_expression "puVar15 = (ulong *)param_3[1]" identifier = (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) ;) (if_statement "if (puVar2 == puVar15) goto LAB_001112dd;" if (parenthesized_expression "(puVar2 == puVar15)" ( (binary_expression "puVar2 == puVar15" identifier == identifier) )) (goto_statement "goto LAB_001112dd;" goto statement_identifier ;)) (labeled_statement "LAB_00111184:\n        param_3[1] = (ulong)local_78;" statement_identifier : (expression_statement "param_3[1] = (ulong)local_78;" (assignment_expression "param_3[1] = (ulong)local_78" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (cast_expression "(ulong)local_78" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;)) (goto_statement "goto LAB_0011118d;" goto statement_identifier ;) })) }))) })) (labeled_statement "LAB_00111292:\n  puVar15 = (ulong *)param_3[1];" statement_identifier : (expression_statement "puVar15 = (ulong *)param_3[1];" (assignment_expression "puVar15 = (ulong *)param_3[1]" identifier = (cast_expression "(ulong *)param_3[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) ;)) (if_statement "if (puVar2 != puVar15) {\nLAB_0011129d:\n    free(puVar15);\n  }" if (parenthesized_expression "(puVar2 != puVar15)" ( (binary_expression "puVar2 != puVar15" identifier != identifier) )) (compound_statement "{\nLAB_0011129d:\n    free(puVar15);\n  }" { (labeled_statement "LAB_0011129d:\n    free(puVar15);" statement_identifier : (expression_statement "free(puVar15);" (call_expression "free(puVar15)" identifier (argument_list "(puVar15)" ( identifier ))) ;)) })) (labeled_statement "LAB_001112a2:\n  if (puVar1 != (ulong *)param_2[1]) {\n    free((ulong *)param_2[1]);\n  }" statement_identifier : (if_statement "if (puVar1 != (ulong *)param_2[1]) {\n    free((ulong *)param_2[1]);\n  }" if (parenthesized_expression "(puVar1 != (ulong *)param_2[1])" ( (binary_expression "puVar1 != (ulong *)param_2[1]" identifier != (cast_expression "(ulong *)param_2[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ]))) )) (compound_statement "{\n    free((ulong *)param_2[1]);\n  }" { (expression_statement "free((ulong *)param_2[1]);" (call_expression "free((ulong *)param_2[1])" identifier (argument_list "((ulong *)param_2[1])" ( (cast_expression "(ulong *)param_2[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ])) ))) ;) }))) (labeled_statement "LAB_001112b2:\n  piVar9 = __errno_location();" statement_identifier : (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;)) (expression_statement "*piVar9 = 0xc;" (assignment_expression "*piVar9 = 0xc" (pointer_expression "*piVar9" * identifier) = number_literal) ;) (return_statement "return 0xffffffff;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) * LIT) + (subscript_expression IDENT [ LIT ])) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (pointer_expression * IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) < LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) < LIT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) , IDENT ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( BOOL )) ;) })) })) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) }))))))))))))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( BOOL )) ;)) })) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) < LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) < LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) , IDENT ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( BOOL )) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (while_statement while (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (while_statement while (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) < LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) < LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) , IDENT ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( BOOL )) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (while_statement while (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + (subscript_expression IDENT [ LIT ])) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT * LIT)) , (binary_expression (binary_expression IDENT < IDENT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression IDENT <= IDENT)) )))) )) && (parenthesized_expression ( (binary_expression IDENT < LIT) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT << LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (binary_expression IDENT << LIT) )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (binary_expression (pointer_expression * IDENT) << LIT) ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) })) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement default : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )))) & LIT) )) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) + LIT)) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )))) & LIT) )) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT & LIT) ^ LIT) )) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) + LIT)) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (while_statement while (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + (subscript_expression IDENT [ LIT ])) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) < LIT) )) || (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT * LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT * LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression (pointer_expression * IDENT) * LIT) ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) < LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT * LIT)) , (binary_expression (binary_expression IDENT <= IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression IDENT < IDENT)) )))) )) ))) )) || (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT << LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT << LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression (pointer_expression * IDENT) << LIT) ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (while_statement while (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + (subscript_expression IDENT [ LIT ])) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (return_statement return LIT ;) })))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))))))))))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT * LIT)) , (binary_expression (binary_expression IDENT < IDENT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression IDENT <= IDENT)) )))) )) ))) )) && (parenthesized_expression ( (binary_expression IDENT < LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT << LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression (pointer_expression * IDENT) << LIT) ))) ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (binary_expression IDENT << LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (goto_statement goto statement_identifier ;) })) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) ))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (return_statement return LIT ;) })))
(function_definition "undefined8 FUN_00110c80(byte *param_1,ulong *param_2,ulong *param_3)\n\n{\n  ulong *puVar1;\n  ulong *puVar2;\n  undefined8 *puVar3;\n  byte bVar4;\n  int iVar5;\n  byte bVar6;\n  int iVar7;\n  byte *pbVar8;\n  void *__dest;\n  int *piVar9;\n  ulong uVar10;\n  ulong uVar11;\n  byte *pbVar12;\n  ulong uVar13;\n  uint uVar14;\n  ulong *puVar15;\n  ulong uVar16;\n  bool bVar17;\n  ulong local_90;\n  ulong local_88;\n  void *local_78;\n  ulong local_70;\n  ulong local_68;\n  long local_60;\n  ulong local_50;\n  ulong *local_48;\n  void *local_40;\n  \n  *param_2 = 0;\n  puVar1 = param_2 + 4;\n  param_2[1] = (ulong)puVar1;\n  *param_3 = 0;\n  puVar2 = param_3 + 2;\n  param_3[1] = (ulong)puVar2;\n  local_70 = 0;\n  local_88 = 0;\n  local_90 = 7;\n  local_68 = 7;\n  local_60 = 0;\n  local_50 = 0xffffffffffffffff;\nLAB_00110cf5:\n  do {\n    pbVar8 = param_1;\n    if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }\n    param_1 = pbVar8 + 1;\n  } while (*pbVar8 != 0x25);\n  puVar3 = (undefined8 *)(param_2[1] + *param_2 * 0x58);\n  *puVar3 = pbVar8;\n  *(undefined4 *)(puVar3 + 2) = 0;\n  puVar3[3] = 0;\n  puVar3[4] = 0;\n  puVar3[5] = 0xffffffffffffffff;\n  puVar3[6] = 0;\n  puVar3[7] = 0;\n  puVar3[8] = 0xffffffffffffffff;\n  puVar3[10] = 0xffffffffffffffff;\n  bVar6 = pbVar8[1];\n  uVar16 = 0xffffffffffffffff;\n  pbVar8 = param_1;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    uVar16 = 0xffffffffffffffff;\n    if (bVar4 == 0x24) {\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }\n  }\n  goto LAB_00110e08;\nLAB_00110dec:\n  uVar16 = uVar16 - 1;\n  if (uVar16 < 0xfffffffffffffffe) {\n    param_1 = param_1 + 2;\nLAB_00110e08:\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }\n  goto switchD_001113be_caseD_26;\nLAB_00110e55:\n  if (bVar6 == 0x2a) {\n    puVar3[3] = param_1;\n    pbVar8 = param_1 + 1;\n    puVar3[4] = pbVar8;\n    uVar10 = 1;\n    if (local_88 != 0) {\n      uVar10 = local_88;\n    }\n    bVar6 = param_1[1];\n    pbVar12 = pbVar8;\n    if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }\n    if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }\n  pbVar8 = param_1;\n  uVar10 = local_88;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    puVar3[3] = param_1;\n    bVar6 = *param_1;\n    while ((byte)(bVar6 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }\n    puVar3[4] = pbVar8;\n    uVar10 = (long)pbVar8 - (long)param_1;\n    if ((ulong)((long)pbVar8 - (long)param_1) <= local_88) {\n      uVar10 = local_88;\n    }\n  }\nLAB_00110e66:\n  local_88 = uVar10;\n  param_1 = pbVar8;\n  uVar10 = local_70;\n  if (*pbVar8 != 0x2e) goto LAB_00110e6f;\n  if (pbVar8[1] != 0x2a) {\n    param_1 = pbVar8 + 1;\n    puVar3[6] = pbVar8;\n    bVar6 = pbVar8[1];\n    while ((byte)(bVar6 - 0x30) < 10) {\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }\n    puVar3[7] = param_1;\n    uVar10 = (long)param_1 - (long)pbVar8;\n    if ((ulong)((long)param_1 - (long)pbVar8) <= local_70) {\n      uVar10 = local_70;\n    }\n    goto LAB_00110e6f;\n  }\n  puVar3[6] = pbVar8;\n  param_1 = pbVar8 + 2;\n  puVar3[7] = param_1;\n  uVar10 = 2;\n  if (1 < local_70) {\n    uVar10 = local_70;\n  }\n  bVar6 = pbVar8[2];\n  pbVar12 = param_1;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    if (bVar4 == 0x24) {\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }\n  }\n  if (puVar3[8] == -1) {\n    puVar3[8] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }\n  goto LAB_0011110c;\nLAB_00111003:\n  uVar13 = uVar13 - 1;\n  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;\n  puVar3[5] = uVar13;\n  pbVar8 = pbVar8 + 2;\nLAB_00110ebb:\n  uVar13 = puVar3[5];\n  if (uVar13 < local_90) {\nLAB_00110f4e:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) goto switchD_001113be_caseD_26;\n    goto LAB_00110e66;\n  }\n  if ((-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)))) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }\n    if (local_78 != (void *)0x0) {\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }\n  }\n  goto LAB_00111292;\nLAB_0011139e:\n  param_1 = param_1 + 1;\n  switch(bVar6) {\n  case 0x25:\n    goto switchD_001113be_caseD_25;\n  default:\n    goto switchD_001113be_caseD_26;\n  case 0x41:\n  case 0x45:\n  case 0x46:\n  case 0x47:\n  case 0x61:\n  case 0x65:\n  case 0x66:\n  case 0x67:\n    iVar7 = 0xc;\n    if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }\n    break;\n  case 0x43:\n    iVar7 = 0xe;\n    bVar6 = 99;\n    break;\n  case 0x53:\n    iVar7 = 0x10;\n    bVar6 = 0x73;\n    break;\n  case 0x58:\n  case 0x6f:\n  case 0x75:\n  case 0x78:\n    iVar7 = 10;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }\n    break;\n  case 99:\n    iVar7 = (7 < (int)uVar14) + 0xd;\n    break;\n  case 100:\n  case 0x69:\n    iVar7 = 9;\n    if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }\n    break;\n  case 0x6e:\n    iVar7 = 0x16;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }\n    break;\n  case 0x70:\n    iVar7 = 0x11;\n    break;\n  case 0x73:\n    iVar7 = (7 < (int)uVar14) + 0xf;\n  }\n  if (uVar16 == 0xffffffffffffffff) {\n    puVar3[10] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }\n  else {\n    puVar3[10] = uVar16;\n  }\n  uVar16 = puVar3[10];\n  if (uVar16 < local_90) {\nLAB_001115b1:\n    uVar10 = *param_3;\n    while (uVar10 <= uVar16) {\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }\n    piVar9 = (int *)(uVar16 * 0x20 + param_3[1]);\n    iVar5 = *piVar9;\n    if (iVar5 == 0) {\n      *piVar9 = iVar7;\n    }\n    else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;\nswitchD_001113be_caseD_25:\n    *(byte *)(puVar3 + 9) = bVar6;\n    puVar3[1] = param_1;\n    uVar16 = *param_2;\n    *param_2 = uVar16 + 1;\n    if (uVar16 + 1 < local_68) goto LAB_00110cf5;\n    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;\n    puVar15 = (ulong *)param_2[1];\n    if (puVar1 != puVar15) {\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }\n    __dest = malloc(local_68 * 0xb0);\n    if (__dest != (void *)0x0) goto LAB_00111732;\n    puVar15 = (ulong *)param_3[1];\n    if (puVar2 == puVar15) goto LAB_001112b2;\n    goto LAB_0011129d;\n  }\n  if ((((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))\n     || (0x7ffffffffffffff < local_90)) goto LAB_00111292;\n  local_48 = (ulong *)param_3[1];\n  if (puVar2 != local_48) {\n    local_40 = realloc(local_48,local_90 << 5);\n    if (local_40 != (void *)0x0) {\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }\n    goto LAB_00111292;\n  }\n  local_40 = malloc(local_90 << 5);\n  if (local_40 != (void *)0x0) {\nLAB_001116c7:\n    memcpy(local_40,local_48,*param_3 << 5);\nLAB_001115a8:\n    param_3[1] = (ulong)local_40;\n    goto LAB_001115b1;\n  }\n  goto LAB_001112a2;\nLAB_00111244:\n  uVar13 = uVar13 - 1;\n  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;\n  puVar3[8] = uVar13;\n  param_1 = pbVar8 + 2;\nLAB_0011110c:\n  uVar13 = puVar3[8];\n  if (uVar13 < local_90) {\nLAB_0011118d:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }\nLAB_00110e6f:\n    local_70 = uVar10;\n    uVar14 = 0;\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }\n  if (((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))\n     && (local_90 < 0x800000000000000)) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }\n  }\nLAB_00111292:\n  puVar15 = (ulong *)param_3[1];\n  if (puVar2 != puVar15) {\nLAB_0011129d:\n    free(puVar15);\n  }\nLAB_001112a2:\n  if (puVar1 != (ulong *)param_2[1]) {\n    free((ulong *)param_2[1]);\n  }\nLAB_001112b2:\n  piVar9 = __errno_location();\n  *piVar9 = 0xc;\n  return 0xffffffff;\n}" (type_identifier "undefined8") (function_declarator "FUN_00110c80(byte *param_1,ulong *param_2,ulong *param_3)" (identifier "FUN_00110c80") (parameter_list "(byte *param_1,ulong *param_2,ulong *param_3)" (( "(") (parameter_declaration "byte *param_1" (type_identifier "byte") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "ulong *param_2" (type_identifier "ulong") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "ulong *param_3" (type_identifier "ulong") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  ulong *puVar1;\n  ulong *puVar2;\n  undefined8 *puVar3;\n  byte bVar4;\n  int iVar5;\n  byte bVar6;\n  int iVar7;\n  byte *pbVar8;\n  void *__dest;\n  int *piVar9;\n  ulong uVar10;\n  ulong uVar11;\n  byte *pbVar12;\n  ulong uVar13;\n  uint uVar14;\n  ulong *puVar15;\n  ulong uVar16;\n  bool bVar17;\n  ulong local_90;\n  ulong local_88;\n  void *local_78;\n  ulong local_70;\n  ulong local_68;\n  long local_60;\n  ulong local_50;\n  ulong *local_48;\n  void *local_40;\n  \n  *param_2 = 0;\n  puVar1 = param_2 + 4;\n  param_2[1] = (ulong)puVar1;\n  *param_3 = 0;\n  puVar2 = param_3 + 2;\n  param_3[1] = (ulong)puVar2;\n  local_70 = 0;\n  local_88 = 0;\n  local_90 = 7;\n  local_68 = 7;\n  local_60 = 0;\n  local_50 = 0xffffffffffffffff;\nLAB_00110cf5:\n  do {\n    pbVar8 = param_1;\n    if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }\n    param_1 = pbVar8 + 1;\n  } while (*pbVar8 != 0x25);\n  puVar3 = (undefined8 *)(param_2[1] + *param_2 * 0x58);\n  *puVar3 = pbVar8;\n  *(undefined4 *)(puVar3 + 2) = 0;\n  puVar3[3] = 0;\n  puVar3[4] = 0;\n  puVar3[5] = 0xffffffffffffffff;\n  puVar3[6] = 0;\n  puVar3[7] = 0;\n  puVar3[8] = 0xffffffffffffffff;\n  puVar3[10] = 0xffffffffffffffff;\n  bVar6 = pbVar8[1];\n  uVar16 = 0xffffffffffffffff;\n  pbVar8 = param_1;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    uVar16 = 0xffffffffffffffff;\n    if (bVar4 == 0x24) {\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }\n  }\n  goto LAB_00110e08;\nLAB_00110dec:\n  uVar16 = uVar16 - 1;\n  if (uVar16 < 0xfffffffffffffffe) {\n    param_1 = param_1 + 2;\nLAB_00110e08:\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }\n  goto switchD_001113be_caseD_26;\nLAB_00110e55:\n  if (bVar6 == 0x2a) {\n    puVar3[3] = param_1;\n    pbVar8 = param_1 + 1;\n    puVar3[4] = pbVar8;\n    uVar10 = 1;\n    if (local_88 != 0) {\n      uVar10 = local_88;\n    }\n    bVar6 = param_1[1];\n    pbVar12 = pbVar8;\n    if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }\n    if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }\n  pbVar8 = param_1;\n  uVar10 = local_88;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    puVar3[3] = param_1;\n    bVar6 = *param_1;\n    while ((byte)(bVar6 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }\n    puVar3[4] = pbVar8;\n    uVar10 = (long)pbVar8 - (long)param_1;\n    if ((ulong)((long)pbVar8 - (long)param_1) <= local_88) {\n      uVar10 = local_88;\n    }\n  }\nLAB_00110e66:\n  local_88 = uVar10;\n  param_1 = pbVar8;\n  uVar10 = local_70;\n  if (*pbVar8 != 0x2e) goto LAB_00110e6f;\n  if (pbVar8[1] != 0x2a) {\n    param_1 = pbVar8 + 1;\n    puVar3[6] = pbVar8;\n    bVar6 = pbVar8[1];\n    while ((byte)(bVar6 - 0x30) < 10) {\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }\n    puVar3[7] = param_1;\n    uVar10 = (long)param_1 - (long)pbVar8;\n    if ((ulong)((long)param_1 - (long)pbVar8) <= local_70) {\n      uVar10 = local_70;\n    }\n    goto LAB_00110e6f;\n  }\n  puVar3[6] = pbVar8;\n  param_1 = pbVar8 + 2;\n  puVar3[7] = param_1;\n  uVar10 = 2;\n  if (1 < local_70) {\n    uVar10 = local_70;\n  }\n  bVar6 = pbVar8[2];\n  pbVar12 = param_1;\n  if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    if (bVar4 == 0x24) {\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }\n  }\n  if (puVar3[8] == -1) {\n    puVar3[8] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }\n  goto LAB_0011110c;\nLAB_00111003:\n  uVar13 = uVar13 - 1;\n  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;\n  puVar3[5] = uVar13;\n  pbVar8 = pbVar8 + 2;\nLAB_00110ebb:\n  uVar13 = puVar3[5];\n  if (uVar13 < local_90) {\nLAB_00110f4e:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) goto switchD_001113be_caseD_26;\n    goto LAB_00110e66;\n  }\n  if ((-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)))) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }\n    if (local_78 != (void *)0x0) {\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }\n  }\n  goto LAB_00111292;\nLAB_0011139e:\n  param_1 = param_1 + 1;\n  switch(bVar6) {\n  case 0x25:\n    goto switchD_001113be_caseD_25;\n  default:\n    goto switchD_001113be_caseD_26;\n  case 0x41:\n  case 0x45:\n  case 0x46:\n  case 0x47:\n  case 0x61:\n  case 0x65:\n  case 0x66:\n  case 0x67:\n    iVar7 = 0xc;\n    if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }\n    break;\n  case 0x43:\n    iVar7 = 0xe;\n    bVar6 = 99;\n    break;\n  case 0x53:\n    iVar7 = 0x10;\n    bVar6 = 0x73;\n    break;\n  case 0x58:\n  case 0x6f:\n  case 0x75:\n  case 0x78:\n    iVar7 = 10;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }\n    break;\n  case 99:\n    iVar7 = (7 < (int)uVar14) + 0xd;\n    break;\n  case 100:\n  case 0x69:\n    iVar7 = 9;\n    if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }\n    break;\n  case 0x6e:\n    iVar7 = 0x16;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }\n    break;\n  case 0x70:\n    iVar7 = 0x11;\n    break;\n  case 0x73:\n    iVar7 = (7 < (int)uVar14) + 0xf;\n  }\n  if (uVar16 == 0xffffffffffffffff) {\n    puVar3[10] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }\n  else {\n    puVar3[10] = uVar16;\n  }\n  uVar16 = puVar3[10];\n  if (uVar16 < local_90) {\nLAB_001115b1:\n    uVar10 = *param_3;\n    while (uVar10 <= uVar16) {\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }\n    piVar9 = (int *)(uVar16 * 0x20 + param_3[1]);\n    iVar5 = *piVar9;\n    if (iVar5 == 0) {\n      *piVar9 = iVar7;\n    }\n    else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;\nswitchD_001113be_caseD_25:\n    *(byte *)(puVar3 + 9) = bVar6;\n    puVar3[1] = param_1;\n    uVar16 = *param_2;\n    *param_2 = uVar16 + 1;\n    if (uVar16 + 1 < local_68) goto LAB_00110cf5;\n    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;\n    puVar15 = (ulong *)param_2[1];\n    if (puVar1 != puVar15) {\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }\n    __dest = malloc(local_68 * 0xb0);\n    if (__dest != (void *)0x0) goto LAB_00111732;\n    puVar15 = (ulong *)param_3[1];\n    if (puVar2 == puVar15) goto LAB_001112b2;\n    goto LAB_0011129d;\n  }\n  if ((((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))\n     || (0x7ffffffffffffff < local_90)) goto LAB_00111292;\n  local_48 = (ulong *)param_3[1];\n  if (puVar2 != local_48) {\n    local_40 = realloc(local_48,local_90 << 5);\n    if (local_40 != (void *)0x0) {\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }\n    goto LAB_00111292;\n  }\n  local_40 = malloc(local_90 << 5);\n  if (local_40 != (void *)0x0) {\nLAB_001116c7:\n    memcpy(local_40,local_48,*param_3 << 5);\nLAB_001115a8:\n    param_3[1] = (ulong)local_40;\n    goto LAB_001115b1;\n  }\n  goto LAB_001112a2;\nLAB_00111244:\n  uVar13 = uVar13 - 1;\n  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;\n  puVar3[8] = uVar13;\n  param_1 = pbVar8 + 2;\nLAB_0011110c:\n  uVar13 = puVar3[8];\n  if (uVar13 < local_90) {\nLAB_0011118d:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }\nLAB_00110e6f:\n    local_70 = uVar10;\n    uVar14 = 0;\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }\n  if (((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))\n     && (local_90 < 0x800000000000000)) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }\n  }\nLAB_00111292:\n  puVar15 = (ulong *)param_3[1];\n  if (puVar2 != puVar15) {\nLAB_0011129d:\n    free(puVar15);\n  }\nLAB_001112a2:\n  if (puVar1 != (ulong *)param_2[1]) {\n    free((ulong *)param_2[1]);\n  }\nLAB_001112b2:\n  piVar9 = __errno_location();\n  *piVar9 = 0xc;\n  return 0xffffffff;\n}" ({ "{") (declaration "ulong *puVar1;" (type_identifier "ulong") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "ulong *puVar2;" (type_identifier "ulong") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined8 *puVar3;" (type_identifier "undefined8") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "byte bVar4;" (type_identifier "byte") (identifier "bVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "byte bVar6;" (type_identifier "byte") (identifier "bVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (declaration "void *__dest;" (primitive_type "void") (pointer_declarator "*__dest" (* "*") (identifier "__dest")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "ulong uVar10;" (type_identifier "ulong") (identifier "uVar10") (; ";")) (declaration "ulong uVar11;" (type_identifier "ulong") (identifier "uVar11") (; ";")) (declaration "byte *pbVar12;" (type_identifier "byte") (pointer_declarator "*pbVar12" (* "*") (identifier "pbVar12")) (; ";")) (declaration "ulong uVar13;" (type_identifier "ulong") (identifier "uVar13") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "ulong *puVar15;" (type_identifier "ulong") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "ulong uVar16;" (type_identifier "ulong") (identifier "uVar16") (; ";")) (declaration "bool bVar17;" (primitive_type "bool") (identifier "bVar17") (; ";")) (declaration "ulong local_90;" (type_identifier "ulong") (identifier "local_90") (; ";")) (declaration "ulong local_88;" (type_identifier "ulong") (identifier "local_88") (; ";")) (declaration "void *local_78;" (primitive_type "void") (pointer_declarator "*local_78" (* "*") (identifier "local_78")) (; ";")) (declaration "ulong local_70;" (type_identifier "ulong") (identifier "local_70") (; ";")) (declaration "ulong local_68;" (type_identifier "ulong") (identifier "local_68") (; ";")) (declaration "long local_60;" (sized_type_specifier "long" (long "long")) (identifier "local_60") (; ";")) (declaration "ulong local_50;" (type_identifier "ulong") (identifier "local_50") (; ";")) (declaration "ulong *local_48;" (type_identifier "ulong") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "void *local_40;" (primitive_type "void") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (expression_statement "*param_2 = 0;" (assignment_expression "*param_2 = 0" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar1 = param_2 + 4;" (assignment_expression "puVar1 = param_2 + 4" (identifier "puVar1") (= "=") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "param_2[1] = (ulong)puVar1;" (assignment_expression "param_2[1] = (ulong)puVar1" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(ulong)puVar1" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "puVar1"))) (; ";")) (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2 = param_3 + 2;" (assignment_expression "puVar2 = param_3 + 2" (identifier "puVar2") (= "=") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "param_3[1] = (ulong)puVar2;" (assignment_expression "param_3[1] = (ulong)puVar2" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(ulong)puVar2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "puVar2"))) (; ";")) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" (identifier "local_70") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" (identifier "local_88") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = 7;" (assignment_expression "local_90 = 7" (identifier "local_90") (= "=") (number_literal "7")) (; ";")) (expression_statement "local_68 = 7;" (assignment_expression "local_68 = 7" (identifier "local_68") (= "=") (number_literal "7")) (; ";")) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = 0xffffffffffffffff;" (assignment_expression "local_50 = 0xffffffffffffffff" (identifier "local_50") (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (labeled_statement "LAB_00110cf5:\n  do {\n    pbVar8 = param_1;\n    if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }\n    param_1 = pbVar8 + 1;\n  } while (*pbVar8 != 0x25);" (statement_identifier "LAB_00110cf5") (: ":") (do_statement "do {\n    pbVar8 = param_1;\n    if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }\n    param_1 = pbVar8 + 1;\n  } while (*pbVar8 != 0x25);" (do "do") (compound_statement "{\n    pbVar8 = param_1;\n    if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }\n    param_1 = pbVar8 + 1;\n  }" ({ "{") (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" (identifier "pbVar8") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (*pbVar8 == 0) {\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }" (if "if") (parenthesized_expression "(*pbVar8 == 0)" (( "(") (binary_expression "*pbVar8 == 0" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;\n      param_2[2] = local_88;\n      param_2[3] = local_70;\n      return 0;\n    }" ({ "{") (expression_statement "*(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;" (assignment_expression "*(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8" (pointer_expression "*(byte **)(*param_2 * 0x58 + param_2[1])" (* "*") (cast_expression "(byte **)(*param_2 * 0x58 + param_2[1])" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_2 * 0x58 + param_2[1])" (( "(") (binary_expression "*param_2 * 0x58 + param_2[1]" (binary_expression "*param_2 * 0x58" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (* "*") (number_literal "0x58")) (+ "+") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) () ")")))) (= "=") (identifier "pbVar8")) (; ";")) (expression_statement "param_2[2] = local_88;" (assignment_expression "param_2[2] = local_88" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_88")) (; ";")) (expression_statement "param_2[3] = local_70;" (assignment_expression "param_2[3] = local_70" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "local_70")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "param_1 = pbVar8 + 1;" (assignment_expression "param_1 = pbVar8 + 1" (identifier "param_1") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*pbVar8 != 0x25)" (( "(") (binary_expression "*pbVar8 != 0x25" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (!= "!=") (number_literal "0x25")) () ")")) (; ";"))) (expression_statement "puVar3 = (undefined8 *)(param_2[1] + *param_2 * 0x58);" (assignment_expression "puVar3 = (undefined8 *)(param_2[1] + *param_2 * 0x58)" (identifier "puVar3") (= "=") (cast_expression "(undefined8 *)(param_2[1] + *param_2 * 0x58)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[1] + *param_2 * 0x58)" (( "(") (binary_expression "param_2[1] + *param_2 * 0x58" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (+ "+") (binary_expression "*param_2 * 0x58" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (* "*") (number_literal "0x58"))) () ")")))) (; ";")) (expression_statement "*puVar3 = pbVar8;" (assignment_expression "*puVar3 = pbVar8" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (identifier "pbVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar3 + 2) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 2) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 2)" (* "*") (cast_expression "(undefined4 *)(puVar3 + 2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[3] = 0;" (assignment_expression "puVar3[3] = 0" (subscript_expression "puVar3[3]" (identifier "puVar3") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[4] = 0;" (assignment_expression "puVar3[4] = 0" (subscript_expression "puVar3[4]" (identifier "puVar3") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[5] = 0xffffffffffffffff;" (assignment_expression "puVar3[5] = 0xffffffffffffffff" (subscript_expression "puVar3[5]" (identifier "puVar3") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (expression_statement "puVar3[6] = 0;" (assignment_expression "puVar3[6] = 0" (subscript_expression "puVar3[6]" (identifier "puVar3") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[7] = 0;" (assignment_expression "puVar3[7] = 0" (subscript_expression "puVar3[7]" (identifier "puVar3") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[8] = 0xffffffffffffffff;" (assignment_expression "puVar3[8] = 0xffffffffffffffff" (subscript_expression "puVar3[8]" (identifier "puVar3") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (expression_statement "puVar3[10] = 0xffffffffffffffff;" (assignment_expression "puVar3[10] = 0xffffffffffffffff" (subscript_expression "puVar3[10]" (identifier "puVar3") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (expression_statement "bVar6 = pbVar8[1];" (assignment_expression "bVar6 = pbVar8[1]" (identifier "bVar6") (= "=") (subscript_expression "pbVar8[1]" (identifier "pbVar8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar16 = 0xffffffffffffffff;" (assignment_expression "uVar16 = 0xffffffffffffffff" (identifier "uVar16") (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" (identifier "pbVar8") (= "=") (identifier "param_1")) (; ";")) (if_statement "if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    uVar16 = 0xffffffffffffffff;\n    if (bVar4 == 0x24) {\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }\n  }" (if "if") (parenthesized_expression "((byte)(bVar6 - 0x30) < 10)" (( "(") (binary_expression "(byte)(bVar6 - 0x30) < 10" (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar6 - 0x30)" (( "(") (binary_expression "bVar6 - 0x30" (identifier "bVar6") (- "-") (number_literal "0x30")) () ")"))) (< "<") (number_literal "10")) () ")")) (compound_statement "{\n    do {\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    uVar16 = 0xffffffffffffffff;\n    if (bVar4 == 0x24) {\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }\n  }" ({ "{") (do_statement "do {\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);" (do "do") (compound_statement "{\n      bVar4 = pbVar8[1];\n      pbVar8 = pbVar8 + 1;\n    }" ({ "{") (expression_statement "bVar4 = pbVar8[1];" (assignment_expression "bVar4 = pbVar8[1]" (identifier "bVar4") (= "=") (subscript_expression "pbVar8[1]" (identifier "pbVar8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((byte)(bVar4 - 0x30) < 10)" (( "(") (binary_expression "(byte)(bVar4 - 0x30) < 10" (call_expression "(byte)(bVar4 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar4 - 0x30)" (( "(") (binary_expression "bVar4 - 0x30" (identifier "bVar4") (- "-") (number_literal "0x30")) () ")"))) (< "<") (number_literal "10")) () ")")) (; ";")) (expression_statement "uVar16 = 0xffffffffffffffff;" (assignment_expression "uVar16 = 0xffffffffffffffff" (identifier "uVar16") (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (if_statement "if (bVar4 == 0x24) {\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }" (if "if") (parenthesized_expression "(bVar4 == 0x24)" (( "(") (binary_expression "bVar4 == 0x24" (identifier "bVar4") (== "==") (number_literal "0x24")) () ")")) (compound_statement "{\n      uVar16 = 0;\n      do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );\n    }" ({ "{") (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" (identifier "uVar16") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      } while( true );" (do "do") (compound_statement "{\n        uVar10 = local_50;\n        if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }\n        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }\n        param_1 = param_1 + 1;\n      }" ({ "{") (expression_statement "uVar10 = local_50;" (assignment_expression "uVar10 = local_50" (identifier "uVar10") (= "=") (identifier "local_50")) (; ";")) (if_statement "if (uVar16 < 0x199999999999999a) {\n          uVar10 = uVar16 * 10;\n        }" (if "if") (parenthesized_expression "(uVar16 < 0x199999999999999a)" (( "(") (binary_expression "uVar16 < 0x199999999999999a" (identifier "uVar16") (< "<") (number_literal "0x199999999999999a")) () ")")) (compound_statement "{\n          uVar10 = uVar16 * 10;\n        }" ({ "{") (expression_statement "uVar10 = uVar16 * 10;" (assignment_expression "uVar10 = uVar16 * 10" (identifier "uVar10") (= "=") (binary_expression "uVar16 * 10" (identifier "uVar16") (* "*") (number_literal "10"))) (; ";")) (} "}"))) (expression_statement "uVar16 = (long)((char)bVar6 + -0x30) + uVar10;" (assignment_expression "uVar16 = (long)((char)bVar6 + -0x30) + uVar10" (identifier "uVar16") (= "=") (binary_expression "(long)((char)bVar6 + -0x30) + uVar10" (cast_expression "(long)((char)bVar6 + -0x30)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "((char)bVar6 + -0x30)" (( "(") (binary_expression "(char)bVar6 + -0x30" (cast_expression "(char)bVar6" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar6")) (+ "+") (number_literal "-0x30")) () ")"))) (+ "+") (identifier "uVar10"))) (; ";")) (if_statement "if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }" (if "if") (parenthesized_expression "(CARRY8((long)((char)bVar6 + -0x30),uVar10))" (( "(") (call_expression "CARRY8((long)((char)bVar6 + -0x30),uVar10)" (identifier "CARRY8") (argument_list "((long)((char)bVar6 + -0x30),uVar10)" (( "(") (cast_expression "(long)((char)bVar6 + -0x30)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "((char)bVar6 + -0x30)" (( "(") (binary_expression "(char)bVar6 + -0x30" (cast_expression "(char)bVar6" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar6")) (+ "+") (number_literal "-0x30")) () ")"))) (, ",") (identifier "uVar10") () ")"))) () ")")) (compound_statement "{\n          bVar6 = param_1[1];\n          uVar16 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }" ({ "{") (expression_statement "bVar6 = param_1[1];" (assignment_expression "bVar6 = param_1[1]" (identifier "bVar6") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar16 = local_50;" (assignment_expression "uVar16 = local_50" (identifier "uVar16") (= "=") (identifier "local_50")) (; ";")) (if_statement "if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;" (if "if") (parenthesized_expression "(9 < (byte)(bVar6 - 0x30))" (( "(") (binary_expression "9 < (byte)(bVar6 - 0x30)" (number_literal "9") (< "<") (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar6 - 0x30)" (( "(") (binary_expression "bVar6 - 0x30" (identifier "bVar6") (- "-") (number_literal "0x30")) () ")")))) () ")")) (goto_statement "goto switchD_001113be_caseD_26;" (goto "goto") (statement_identifier "switchD_001113be_caseD_26") (; ";"))) (} "}")) (else_clause "else {\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }" (else "else") (compound_statement "{\n          bVar6 = param_1[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;\n        }" ({ "{") (expression_statement "bVar6 = param_1[1];" (assignment_expression "bVar6 = param_1[1]" (identifier "bVar6") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;" (if "if") (parenthesized_expression "(9 < (byte)(bVar6 - 0x30))" (( "(") (binary_expression "9 < (byte)(bVar6 - 0x30)" (number_literal "9") (< "<") (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar6 - 0x30)" (( "(") (binary_expression "bVar6 - 0x30" (identifier "bVar6") (- "-") (number_literal "0x30")) () ")")))) () ")")) (goto_statement "goto LAB_00110dec;" (goto "goto") (statement_identifier "LAB_00110dec") (; ";"))) (} "}")))) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" (identifier "param_1") (= "=") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_00110e08;" (goto "goto") (statement_identifier "LAB_00110e08") (; ";")) (labeled_statement "LAB_00110dec:\n  uVar16 = uVar16 - 1;" (statement_identifier "LAB_00110dec") (: ":") (expression_statement "uVar16 = uVar16 - 1;" (assignment_expression "uVar16 = uVar16 - 1" (identifier "uVar16") (= "=") (binary_expression "uVar16 - 1" (identifier "uVar16") (- "-") (number_literal "1"))) (; ";"))) (if_statement "if (uVar16 < 0xfffffffffffffffe) {\n    param_1 = param_1 + 2;\nLAB_00110e08:\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }" (if "if") (parenthesized_expression "(uVar16 < 0xfffffffffffffffe)" (( "(") (binary_expression "uVar16 < 0xfffffffffffffffe" (identifier "uVar16") (< "<") (number_literal "0xfffffffffffffffe")) () ")")) (compound_statement "{\n    param_1 = param_1 + 2;\nLAB_00110e08:\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }" ({ "{") (expression_statement "param_1 = param_1 + 2;" (assignment_expression "param_1 = param_1 + 2" (identifier "param_1") (= "=") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2"))) (; ";")) (labeled_statement "LAB_00110e08:\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );" (statement_identifier "LAB_00110e08") (: ":") (do_statement "do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    } while( true );" (do "do") (compound_statement "{\n      bVar6 = *param_1;\n      if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }\n      param_1 = param_1 + 1;\n    }" ({ "{") (expression_statement "bVar6 = *param_1;" (assignment_expression "bVar6 = *param_1" (identifier "bVar6") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (if_statement "if (bVar6 == 0x27) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }\n      else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" (if "if") (parenthesized_expression "(bVar6 == 0x27)" (( "(") (binary_expression "bVar6 == 0x27" (identifier "bVar6") (== "==") (number_literal "0x27")) () ")")) (compound_statement "{\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;\n      }" ({ "{") (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1" (pointer_expression "*(uint *)(puVar3 + 2)" (* "*") (cast_expression "(uint *)(puVar3 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "*(uint *)(puVar3 + 2) | 1" (pointer_expression "*(uint *)(puVar3 + 2)" (* "*") (cast_expression "(uint *)(puVar3 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")")))) (| "|") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" (else "else") (if_statement "if (bVar6 == 0x2d) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }\n      else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" (if "if") (parenthesized_expression "(bVar6 == 0x2d)" (( "(") (binary_expression "bVar6 == 0x2d" (identifier "bVar6") (== "==") (number_literal "0x2d")) () ")")) (compound_statement "{\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;\n      }" ({ "{") (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2" (pointer_expression "*(uint *)(puVar3 + 2)" (* "*") (cast_expression "(uint *)(puVar3 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "*(uint *)(puVar3 + 2) | 2" (pointer_expression "*(uint *)(puVar3 + 2)" (* "*") (cast_expression "(uint *)(puVar3 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")")))) (| "|") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" (else "else") (if_statement "if (bVar6 == 0x2b) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }\n      else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" (if "if") (parenthesized_expression "(bVar6 == 0x2b)" (( "(") (binary_expression "bVar6 == 0x2b" (identifier "bVar6") (== "==") (number_literal "0x2b")) () ")")) (compound_statement "{\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;\n      }" ({ "{") (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4" (pointer_expression "*(uint *)(puVar3 + 2)" (* "*") (cast_expression "(uint *)(puVar3 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "*(uint *)(puVar3 + 2) | 4" (pointer_expression "*(uint *)(puVar3 + 2)" (* "*") (cast_expression "(uint *)(puVar3 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")")))) (| "|") (number_literal "4"))) (; ";")) (} "}")) (else_clause "else if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" (else "else") (if_statement "if (bVar6 == 0x20) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }\n      else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" (if "if") (parenthesized_expression "(bVar6 == 0x20)" (( "(") (binary_expression "bVar6 == 0x20" (identifier "bVar6") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;\n      }" ({ "{") (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8" (pointer_expression "*(uint *)(puVar3 + 2)" (* "*") (cast_expression "(uint *)(puVar3 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "*(uint *)(puVar3 + 2) | 8" (pointer_expression "*(uint *)(puVar3 + 2)" (* "*") (cast_expression "(uint *)(puVar3 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")")))) (| "|") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" (else "else") (if_statement "if (bVar6 == 0x23) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }\n      else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" (if "if") (parenthesized_expression "(bVar6 == 0x23)" (( "(") (binary_expression "bVar6 == 0x23" (identifier "bVar6") (== "==") (number_literal "0x23")) () ")")) (compound_statement "{\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;\n      }" ({ "{") (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10" (pointer_expression "*(uint *)(puVar3 + 2)" (* "*") (cast_expression "(uint *)(puVar3 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "*(uint *)(puVar3 + 2) | 0x10" (pointer_expression "*(uint *)(puVar3 + 2)" (* "*") (cast_expression "(uint *)(puVar3 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")")))) (| "|") (number_literal "0x10"))) (; ";")) (} "}")) (else_clause "else if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" (else "else") (if_statement "if (bVar6 == 0x30) {\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }\n      else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" (if "if") (parenthesized_expression "(bVar6 == 0x30)" (( "(") (binary_expression "bVar6 == 0x30" (identifier "bVar6") (== "==") (number_literal "0x30")) () ")")) (compound_statement "{\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;\n      }" ({ "{") (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20" (pointer_expression "*(uint *)(puVar3 + 2)" (* "*") (cast_expression "(uint *)(puVar3 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "*(uint *)(puVar3 + 2) | 0x20" (pointer_expression "*(uint *)(puVar3 + 2)" (* "*") (cast_expression "(uint *)(puVar3 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")")))) (| "|") (number_literal "0x20"))) (; ";")) (} "}")) (else_clause "else {\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" (else "else") (compound_statement "{\n        if (bVar6 != 0x49) goto LAB_00110e55;\n        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;\n      }" ({ "{") (if_statement "if (bVar6 != 0x49) goto LAB_00110e55;" (if "if") (parenthesized_expression "(bVar6 != 0x49)" (( "(") (binary_expression "bVar6 != 0x49" (identifier "bVar6") (!= "!=") (number_literal "0x49")) () ")")) (goto_statement "goto LAB_00110e55;" (goto "goto") (statement_identifier "LAB_00110e55") (; ";"))) (expression_statement "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;" (assignment_expression "*(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40" (pointer_expression "*(uint *)(puVar3 + 2)" (* "*") (cast_expression "(uint *)(puVar3 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "*(uint *)(puVar3 + 2) | 0x40" (pointer_expression "*(uint *)(puVar3 + 2)" (* "*") (cast_expression "(uint *)(puVar3 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")")))) (| "|") (number_literal "0x40"))) (; ";")) (} "}")))))))))))))) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" (identifier "param_1") (= "=") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}"))) (goto_statement "goto switchD_001113be_caseD_26;" (goto "goto") (statement_identifier "switchD_001113be_caseD_26") (; ";")) (labeled_statement "LAB_00110e55:\n  if (bVar6 == 0x2a) {\n    puVar3[3] = param_1;\n    pbVar8 = param_1 + 1;\n    puVar3[4] = pbVar8;\n    uVar10 = 1;\n    if (local_88 != 0) {\n      uVar10 = local_88;\n    }\n    bVar6 = param_1[1];\n    pbVar12 = pbVar8;\n    if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }\n    if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }" (statement_identifier "LAB_00110e55") (: ":") (if_statement "if (bVar6 == 0x2a) {\n    puVar3[3] = param_1;\n    pbVar8 = param_1 + 1;\n    puVar3[4] = pbVar8;\n    uVar10 = 1;\n    if (local_88 != 0) {\n      uVar10 = local_88;\n    }\n    bVar6 = param_1[1];\n    pbVar12 = pbVar8;\n    if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }\n    if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }" (if "if") (parenthesized_expression "(bVar6 == 0x2a)" (( "(") (binary_expression "bVar6 == 0x2a" (identifier "bVar6") (== "==") (number_literal "0x2a")) () ")")) (compound_statement "{\n    puVar3[3] = param_1;\n    pbVar8 = param_1 + 1;\n    puVar3[4] = pbVar8;\n    uVar10 = 1;\n    if (local_88 != 0) {\n      uVar10 = local_88;\n    }\n    bVar6 = param_1[1];\n    pbVar12 = pbVar8;\n    if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }\n    if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }\n    goto LAB_00110ebb;\n  }" ({ "{") (expression_statement "puVar3[3] = param_1;" (assignment_expression "puVar3[3] = param_1" (subscript_expression "puVar3[3]" (identifier "puVar3") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "param_1")) (; ";")) (expression_statement "pbVar8 = param_1 + 1;" (assignment_expression "pbVar8 = param_1 + 1" (identifier "pbVar8") (= "=") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar3[4] = pbVar8;" (assignment_expression "puVar3[4] = pbVar8" (subscript_expression "puVar3[4]" (identifier "puVar3") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "pbVar8")) (; ";")) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" (identifier "uVar10") (= "=") (number_literal "1")) (; ";")) (if_statement "if (local_88 != 0) {\n      uVar10 = local_88;\n    }" (if "if") (parenthesized_expression "(local_88 != 0)" (( "(") (binary_expression "local_88 != 0" (identifier "local_88") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar10 = local_88;\n    }" ({ "{") (expression_statement "uVar10 = local_88;" (assignment_expression "uVar10 = local_88" (identifier "uVar10") (= "=") (identifier "local_88")) (; ";")) (} "}"))) (expression_statement "bVar6 = param_1[1];" (assignment_expression "bVar6 = param_1[1]" (identifier "bVar6") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pbVar12 = pbVar8;" (assignment_expression "pbVar12 = pbVar8" (identifier "pbVar12") (= "=") (identifier "pbVar8")) (; ";")) (if_statement "if ((byte)(bVar6 - 0x30) < 10) {\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }" (if "if") (parenthesized_expression "((byte)(bVar6 - 0x30) < 10)" (( "(") (binary_expression "(byte)(bVar6 - 0x30) < 10" (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar6 - 0x30)" (( "(") (binary_expression "bVar6 - 0x30" (identifier "bVar6") (- "-") (number_literal "0x30")) () ")"))) (< "<") (number_literal "10")) () ")")) (compound_statement "{\n      do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);\n      if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }\n    }" ({ "{") (do_statement "do {\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      } while ((byte)(bVar4 - 0x30) < 10);" (do "do") (compound_statement "{\n        bVar4 = pbVar12[1];\n        pbVar12 = pbVar12 + 1;\n      }" ({ "{") (expression_statement "bVar4 = pbVar12[1];" (assignment_expression "bVar4 = pbVar12[1]" (identifier "bVar4") (= "=") (subscript_expression "pbVar12[1]" (identifier "pbVar12") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" (identifier "pbVar12") (= "=") (binary_expression "pbVar12 + 1" (identifier "pbVar12") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((byte)(bVar4 - 0x30) < 10)" (( "(") (binary_expression "(byte)(bVar4 - 0x30) < 10" (call_expression "(byte)(bVar4 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar4 - 0x30)" (( "(") (binary_expression "bVar4 - 0x30" (identifier "bVar4") (- "-") (number_literal "0x30")) () ")"))) (< "<") (number_literal "10")) () ")")) (; ";")) (if_statement "if (bVar4 == 0x24) {\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }" (if "if") (parenthesized_expression "(bVar4 == 0x24)" (( "(") (binary_expression "bVar4 == 0x24" (identifier "bVar4") (== "==") (number_literal "0x24")) () ")")) (compound_statement "{\n        uVar13 = 0;\n        do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );\n      }" ({ "{") (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        } while( true );" (do "do") (compound_statement "{\n          uVar11 = local_50;\n          if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }\n          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }\n          pbVar8 = pbVar8 + 1;\n        }" ({ "{") (expression_statement "uVar11 = local_50;" (assignment_expression "uVar11 = local_50" (identifier "uVar11") (= "=") (identifier "local_50")) (; ";")) (if_statement "if (uVar13 < 0x199999999999999a) {\n            uVar11 = uVar13 * 10;\n          }" (if "if") (parenthesized_expression "(uVar13 < 0x199999999999999a)" (( "(") (binary_expression "uVar13 < 0x199999999999999a" (identifier "uVar13") (< "<") (number_literal "0x199999999999999a")) () ")")) (compound_statement "{\n            uVar11 = uVar13 * 10;\n          }" ({ "{") (expression_statement "uVar11 = uVar13 * 10;" (assignment_expression "uVar11 = uVar13 * 10" (identifier "uVar11") (= "=") (binary_expression "uVar13 * 10" (identifier "uVar13") (* "*") (number_literal "10"))) (; ";")) (} "}"))) (expression_statement "uVar13 = (long)((char)bVar6 + -0x30) + uVar11;" (assignment_expression "uVar13 = (long)((char)bVar6 + -0x30) + uVar11" (identifier "uVar13") (= "=") (binary_expression "(long)((char)bVar6 + -0x30) + uVar11" (cast_expression "(long)((char)bVar6 + -0x30)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "((char)bVar6 + -0x30)" (( "(") (binary_expression "(char)bVar6 + -0x30" (cast_expression "(char)bVar6" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar6")) (+ "+") (number_literal "-0x30")) () ")"))) (+ "+") (identifier "uVar11"))) (; ";")) (if_statement "if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }\n          else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }" (if "if") (parenthesized_expression "(CARRY8((long)((char)bVar6 + -0x30),uVar11))" (( "(") (call_expression "CARRY8((long)((char)bVar6 + -0x30),uVar11)" (identifier "CARRY8") (argument_list "((long)((char)bVar6 + -0x30),uVar11)" (( "(") (cast_expression "(long)((char)bVar6 + -0x30)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "((char)bVar6 + -0x30)" (( "(") (binary_expression "(char)bVar6 + -0x30" (cast_expression "(char)bVar6" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar6")) (+ "+") (number_literal "-0x30")) () ")"))) (, ",") (identifier "uVar11") () ")"))) () ")")) (compound_statement "{\n            bVar6 = pbVar8[1];\n            uVar13 = local_50;\n            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n          }" ({ "{") (expression_statement "bVar6 = pbVar8[1];" (assignment_expression "bVar6 = pbVar8[1]" (identifier "bVar6") (= "=") (subscript_expression "pbVar8[1]" (identifier "pbVar8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar13 = local_50;" (assignment_expression "uVar13 = local_50" (identifier "uVar13") (= "=") (identifier "local_50")) (; ";")) (if_statement "if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;" (if "if") (parenthesized_expression "(9 < (byte)(bVar6 - 0x30))" (( "(") (binary_expression "9 < (byte)(bVar6 - 0x30)" (number_literal "9") (< "<") (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar6 - 0x30)" (( "(") (binary_expression "bVar6 - 0x30" (identifier "bVar6") (- "-") (number_literal "0x30")) () ")")))) () ")")) (goto_statement "goto switchD_001113be_caseD_26;" (goto "goto") (statement_identifier "switchD_001113be_caseD_26") (; ";"))) (} "}")) (else_clause "else {\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }" (else "else") (compound_statement "{\n            bVar6 = pbVar8[1];\n            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;\n          }" ({ "{") (expression_statement "bVar6 = pbVar8[1];" (assignment_expression "bVar6 = pbVar8[1]" (identifier "bVar6") (= "=") (subscript_expression "pbVar8[1]" (identifier "pbVar8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;" (if "if") (parenthesized_expression "(9 < (byte)(bVar6 - 0x30))" (( "(") (binary_expression "9 < (byte)(bVar6 - 0x30)" (number_literal "9") (< "<") (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar6 - 0x30)" (( "(") (binary_expression "bVar6 - 0x30" (identifier "bVar6") (- "-") (number_literal "0x30")) () ")")))) () ")")) (goto_statement "goto LAB_00111003;" (goto "goto") (statement_identifier "LAB_00111003") (; ";"))) (} "}")))) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (} "}"))) (if_statement "if (puVar3[5] == -1) {\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }" (if "if") (parenthesized_expression "(puVar3[5] == -1)" (( "(") (binary_expression "puVar3[5] == -1" (subscript_expression "puVar3[5]" (identifier "puVar3") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n      puVar3[5] = local_60;\n      bVar17 = local_60 == -1;\n      local_60 = local_60 + 1;\n      if (bVar17) goto switchD_001113be_caseD_26;\n    }" ({ "{") (expression_statement "puVar3[5] = local_60;" (assignment_expression "puVar3[5] = local_60" (subscript_expression "puVar3[5]" (identifier "puVar3") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "local_60")) (; ";")) (expression_statement "bVar17 = local_60 == -1;" (assignment_expression "bVar17 = local_60 == -1" (identifier "bVar17") (= "=") (binary_expression "local_60 == -1" (identifier "local_60") (== "==") (number_literal "-1"))) (; ";")) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" (identifier "local_60") (= "=") (binary_expression "local_60 + 1" (identifier "local_60") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (bVar17) goto switchD_001113be_caseD_26;" (if "if") (parenthesized_expression "(bVar17)" (( "(") (identifier "bVar17") () ")")) (goto_statement "goto switchD_001113be_caseD_26;" (goto "goto") (statement_identifier "switchD_001113be_caseD_26") (; ";"))) (} "}"))) (goto_statement "goto LAB_00110ebb;" (goto "goto") (statement_identifier "LAB_00110ebb") (; ";")) (} "}")))) (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" (identifier "pbVar8") (= "=") (identifier "param_1")) (; ";")) (expression_statement "uVar10 = local_88;" (assignment_expression "uVar10 = local_88" (identifier "uVar10") (= "=") (identifier "local_88")) (; ";")) (if_statement "if ((byte)(bVar6 - 0x30) < 10) {\n    puVar3[3] = param_1;\n    bVar6 = *param_1;\n    while ((byte)(bVar6 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }\n    puVar3[4] = pbVar8;\n    uVar10 = (long)pbVar8 - (long)param_1;\n    if ((ulong)((long)pbVar8 - (long)param_1) <= local_88) {\n      uVar10 = local_88;\n    }\n  }" (if "if") (parenthesized_expression "((byte)(bVar6 - 0x30) < 10)" (( "(") (binary_expression "(byte)(bVar6 - 0x30) < 10" (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar6 - 0x30)" (( "(") (binary_expression "bVar6 - 0x30" (identifier "bVar6") (- "-") (number_literal "0x30")) () ")"))) (< "<") (number_literal "10")) () ")")) (compound_statement "{\n    puVar3[3] = param_1;\n    bVar6 = *param_1;\n    while ((byte)(bVar6 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }\n    puVar3[4] = pbVar8;\n    uVar10 = (long)pbVar8 - (long)param_1;\n    if ((ulong)((long)pbVar8 - (long)param_1) <= local_88) {\n      uVar10 = local_88;\n    }\n  }" ({ "{") (expression_statement "puVar3[3] = param_1;" (assignment_expression "puVar3[3] = param_1" (subscript_expression "puVar3[3]" (identifier "puVar3") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "param_1")) (; ";")) (expression_statement "bVar6 = *param_1;" (assignment_expression "bVar6 = *param_1" (identifier "bVar6") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (while_statement "while ((byte)(bVar6 - 0x30) < 10) {\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }" (while "while") (parenthesized_expression "((byte)(bVar6 - 0x30) < 10)" (( "(") (binary_expression "(byte)(bVar6 - 0x30) < 10" (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar6 - 0x30)" (( "(") (binary_expression "bVar6 - 0x30" (identifier "bVar6") (- "-") (number_literal "0x30")) () ")"))) (< "<") (number_literal "10")) () ")")) (compound_statement "{\n      pbVar8 = pbVar8 + 1;\n      bVar6 = *pbVar8;\n    }" ({ "{") (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar6 = *pbVar8;" (assignment_expression "bVar6 = *pbVar8" (identifier "bVar6") (= "=") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8"))) (; ";")) (} "}"))) (expression_statement "puVar3[4] = pbVar8;" (assignment_expression "puVar3[4] = pbVar8" (subscript_expression "puVar3[4]" (identifier "puVar3") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "pbVar8")) (; ";")) (expression_statement "uVar10 = (long)pbVar8 - (long)param_1;" (assignment_expression "uVar10 = (long)pbVar8 - (long)param_1" (identifier "uVar10") (= "=") (binary_expression "(long)pbVar8 - (long)param_1" (cast_expression "(long)pbVar8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pbVar8")) (- "-") (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")))) (; ";")) (if_statement "if ((ulong)((long)pbVar8 - (long)param_1) <= local_88) {\n      uVar10 = local_88;\n    }" (if "if") (parenthesized_expression "((ulong)((long)pbVar8 - (long)param_1) <= local_88)" (( "(") (binary_expression "(ulong)((long)pbVar8 - (long)param_1) <= local_88" (call_expression "(ulong)((long)pbVar8 - (long)param_1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((long)pbVar8 - (long)param_1)" (( "(") (binary_expression "(long)pbVar8 - (long)param_1" (cast_expression "(long)pbVar8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pbVar8")) (- "-") (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1"))) () ")"))) (<= "<=") (identifier "local_88")) () ")")) (compound_statement "{\n      uVar10 = local_88;\n    }" ({ "{") (expression_statement "uVar10 = local_88;" (assignment_expression "uVar10 = local_88" (identifier "uVar10") (= "=") (identifier "local_88")) (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_00110e66:\n  local_88 = uVar10;" (statement_identifier "LAB_00110e66") (: ":") (expression_statement "local_88 = uVar10;" (assignment_expression "local_88 = uVar10" (identifier "local_88") (= "=") (identifier "uVar10")) (; ";"))) (expression_statement "param_1 = pbVar8;" (assignment_expression "param_1 = pbVar8" (identifier "param_1") (= "=") (identifier "pbVar8")) (; ";")) (expression_statement "uVar10 = local_70;" (assignment_expression "uVar10 = local_70" (identifier "uVar10") (= "=") (identifier "local_70")) (; ";")) (if_statement "if (*pbVar8 != 0x2e) goto LAB_00110e6f;" (if "if") (parenthesized_expression "(*pbVar8 != 0x2e)" (( "(") (binary_expression "*pbVar8 != 0x2e" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (!= "!=") (number_literal "0x2e")) () ")")) (goto_statement "goto LAB_00110e6f;" (goto "goto") (statement_identifier "LAB_00110e6f") (; ";"))) (if_statement "if (pbVar8[1] != 0x2a) {\n    param_1 = pbVar8 + 1;\n    puVar3[6] = pbVar8;\n    bVar6 = pbVar8[1];\n    while ((byte)(bVar6 - 0x30) < 10) {\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }\n    puVar3[7] = param_1;\n    uVar10 = (long)param_1 - (long)pbVar8;\n    if ((ulong)((long)param_1 - (long)pbVar8) <= local_70) {\n      uVar10 = local_70;\n    }\n    goto LAB_00110e6f;\n  }" (if "if") (parenthesized_expression "(pbVar8[1] != 0x2a)" (( "(") (binary_expression "pbVar8[1] != 0x2a" (subscript_expression "pbVar8[1]" (identifier "pbVar8") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0x2a")) () ")")) (compound_statement "{\n    param_1 = pbVar8 + 1;\n    puVar3[6] = pbVar8;\n    bVar6 = pbVar8[1];\n    while ((byte)(bVar6 - 0x30) < 10) {\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }\n    puVar3[7] = param_1;\n    uVar10 = (long)param_1 - (long)pbVar8;\n    if ((ulong)((long)param_1 - (long)pbVar8) <= local_70) {\n      uVar10 = local_70;\n    }\n    goto LAB_00110e6f;\n  }" ({ "{") (expression_statement "param_1 = pbVar8 + 1;" (assignment_expression "param_1 = pbVar8 + 1" (identifier "param_1") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar3[6] = pbVar8;" (assignment_expression "puVar3[6] = pbVar8" (subscript_expression "puVar3[6]" (identifier "puVar3") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "pbVar8")) (; ";")) (expression_statement "bVar6 = pbVar8[1];" (assignment_expression "bVar6 = pbVar8[1]" (identifier "bVar6") (= "=") (subscript_expression "pbVar8[1]" (identifier "pbVar8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (while_statement "while ((byte)(bVar6 - 0x30) < 10) {\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }" (while "while") (parenthesized_expression "((byte)(bVar6 - 0x30) < 10)" (( "(") (binary_expression "(byte)(bVar6 - 0x30) < 10" (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar6 - 0x30)" (( "(") (binary_expression "bVar6 - 0x30" (identifier "bVar6") (- "-") (number_literal "0x30")) () ")"))) (< "<") (number_literal "10")) () ")")) (compound_statement "{\n      param_1 = param_1 + 1;\n      bVar6 = *param_1;\n    }" ({ "{") (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" (identifier "param_1") (= "=") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar6 = *param_1;" (assignment_expression "bVar6 = *param_1" (identifier "bVar6") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (} "}"))) (expression_statement "puVar3[7] = param_1;" (assignment_expression "puVar3[7] = param_1" (subscript_expression "puVar3[7]" (identifier "puVar3") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "param_1")) (; ";")) (expression_statement "uVar10 = (long)param_1 - (long)pbVar8;" (assignment_expression "uVar10 = (long)param_1 - (long)pbVar8" (identifier "uVar10") (= "=") (binary_expression "(long)param_1 - (long)pbVar8" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (- "-") (cast_expression "(long)pbVar8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pbVar8")))) (; ";")) (if_statement "if ((ulong)((long)param_1 - (long)pbVar8) <= local_70) {\n      uVar10 = local_70;\n    }" (if "if") (parenthesized_expression "((ulong)((long)param_1 - (long)pbVar8) <= local_70)" (( "(") (binary_expression "(ulong)((long)param_1 - (long)pbVar8) <= local_70" (call_expression "(ulong)((long)param_1 - (long)pbVar8)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((long)param_1 - (long)pbVar8)" (( "(") (binary_expression "(long)param_1 - (long)pbVar8" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (- "-") (cast_expression "(long)pbVar8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pbVar8"))) () ")"))) (<= "<=") (identifier "local_70")) () ")")) (compound_statement "{\n      uVar10 = local_70;\n    }" ({ "{") (expression_statement "uVar10 = local_70;" (assignment_expression "uVar10 = local_70" (identifier "uVar10") (= "=") (identifier "local_70")) (; ";")) (} "}"))) (goto_statement "goto LAB_00110e6f;" (goto "goto") (statement_identifier "LAB_00110e6f") (; ";")) (} "}"))) (expression_statement "puVar3[6] = pbVar8;" (assignment_expression "puVar3[6] = pbVar8" (subscript_expression "puVar3[6]" (identifier "puVar3") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "pbVar8")) (; ";")) (expression_statement "param_1 = pbVar8 + 2;" (assignment_expression "param_1 = pbVar8 + 2" (identifier "param_1") (= "=") (binary_expression "pbVar8 + 2" (identifier "pbVar8") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "puVar3[7] = param_1;" (assignment_expression "puVar3[7] = param_1" (subscript_expression "puVar3[7]" (identifier "puVar3") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "param_1")) (; ";")) (expression_statement "uVar10 = 2;" (assignment_expression "uVar10 = 2" (identifier "uVar10") (= "=") (number_literal "2")) (; ";")) (if_statement "if (1 < local_70) {\n    uVar10 = local_70;\n  }" (if "if") (parenthesized_expression "(1 < local_70)" (( "(") (binary_expression "1 < local_70" (number_literal "1") (< "<") (identifier "local_70")) () ")")) (compound_statement "{\n    uVar10 = local_70;\n  }" ({ "{") (expression_statement "uVar10 = local_70;" (assignment_expression "uVar10 = local_70" (identifier "uVar10") (= "=") (identifier "local_70")) (; ";")) (} "}"))) (expression_statement "bVar6 = pbVar8[2];" (assignment_expression "bVar6 = pbVar8[2]" (identifier "bVar6") (= "=") (subscript_expression "pbVar8[2]" (identifier "pbVar8") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "pbVar12 = param_1;" (assignment_expression "pbVar12 = param_1" (identifier "pbVar12") (= "=") (identifier "param_1")) (; ";")) (if_statement "if ((byte)(bVar6 - 0x30) < 10) {\n    do {\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    if (bVar4 == 0x24) {\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }\n  }" (if "if") (parenthesized_expression "((byte)(bVar6 - 0x30) < 10)" (( "(") (binary_expression "(byte)(bVar6 - 0x30) < 10" (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar6 - 0x30)" (( "(") (binary_expression "bVar6 - 0x30" (identifier "bVar6") (- "-") (number_literal "0x30")) () ")"))) (< "<") (number_literal "10")) () ")")) (compound_statement "{\n    do {\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);\n    if (bVar4 == 0x24) {\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }\n  }" ({ "{") (do_statement "do {\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    } while ((byte)(bVar4 - 0x30) < 10);" (do "do") (compound_statement "{\n      bVar4 = pbVar12[1];\n      pbVar12 = pbVar12 + 1;\n    }" ({ "{") (expression_statement "bVar4 = pbVar12[1];" (assignment_expression "bVar4 = pbVar12[1]" (identifier "bVar4") (= "=") (subscript_expression "pbVar12[1]" (identifier "pbVar12") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" (identifier "pbVar12") (= "=") (binary_expression "pbVar12 + 1" (identifier "pbVar12") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((byte)(bVar4 - 0x30) < 10)" (( "(") (binary_expression "(byte)(bVar4 - 0x30) < 10" (call_expression "(byte)(bVar4 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar4 - 0x30)" (( "(") (binary_expression "bVar4 - 0x30" (identifier "bVar4") (- "-") (number_literal "0x30")) () ")"))) (< "<") (number_literal "10")) () ")")) (; ";")) (if_statement "if (bVar4 == 0x24) {\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }" (if "if") (parenthesized_expression "(bVar4 == 0x24)" (( "(") (binary_expression "bVar4 == 0x24" (identifier "bVar4") (== "==") (number_literal "0x24")) () ")")) (compound_statement "{\n      pbVar8 = pbVar8 + 2;\n      uVar13 = 0;\n      do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );\n    }" ({ "{") (expression_statement "pbVar8 = pbVar8 + 2;" (assignment_expression "pbVar8 = pbVar8 + 2" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 2" (identifier "pbVar8") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      } while( true );" (do "do") (compound_statement "{\n        uVar11 = local_50;\n        if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }\n        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;\n        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }\n        pbVar8 = pbVar8 + 1;\n      }" ({ "{") (expression_statement "uVar11 = local_50;" (assignment_expression "uVar11 = local_50" (identifier "uVar11") (= "=") (identifier "local_50")) (; ";")) (if_statement "if (uVar13 < 0x199999999999999a) {\n          uVar11 = uVar13 * 10;\n        }" (if "if") (parenthesized_expression "(uVar13 < 0x199999999999999a)" (( "(") (binary_expression "uVar13 < 0x199999999999999a" (identifier "uVar13") (< "<") (number_literal "0x199999999999999a")) () ")")) (compound_statement "{\n          uVar11 = uVar13 * 10;\n        }" ({ "{") (expression_statement "uVar11 = uVar13 * 10;" (assignment_expression "uVar11 = uVar13 * 10" (identifier "uVar11") (= "=") (binary_expression "uVar13 * 10" (identifier "uVar13") (* "*") (number_literal "10"))) (; ";")) (} "}"))) (expression_statement "uVar13 = (long)((char)bVar6 + -0x30) + uVar11;" (assignment_expression "uVar13 = (long)((char)bVar6 + -0x30) + uVar11" (identifier "uVar13") (= "=") (binary_expression "(long)((char)bVar6 + -0x30) + uVar11" (cast_expression "(long)((char)bVar6 + -0x30)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "((char)bVar6 + -0x30)" (( "(") (binary_expression "(char)bVar6 + -0x30" (cast_expression "(char)bVar6" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar6")) (+ "+") (number_literal "-0x30")) () ")"))) (+ "+") (identifier "uVar11"))) (; ";")) (if_statement "if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }\n        else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }" (if "if") (parenthesized_expression "(CARRY8((long)((char)bVar6 + -0x30),uVar11))" (( "(") (call_expression "CARRY8((long)((char)bVar6 + -0x30),uVar11)" (identifier "CARRY8") (argument_list "((long)((char)bVar6 + -0x30),uVar11)" (( "(") (cast_expression "(long)((char)bVar6 + -0x30)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "((char)bVar6 + -0x30)" (( "(") (binary_expression "(char)bVar6 + -0x30" (cast_expression "(char)bVar6" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar6")) (+ "+") (number_literal "-0x30")) () ")"))) (, ",") (identifier "uVar11") () ")"))) () ")")) (compound_statement "{\n          bVar6 = pbVar8[1];\n          uVar13 = local_50;\n          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;\n        }" ({ "{") (expression_statement "bVar6 = pbVar8[1];" (assignment_expression "bVar6 = pbVar8[1]" (identifier "bVar6") (= "=") (subscript_expression "pbVar8[1]" (identifier "pbVar8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar13 = local_50;" (assignment_expression "uVar13 = local_50" (identifier "uVar13") (= "=") (identifier "local_50")) (; ";")) (if_statement "if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;" (if "if") (parenthesized_expression "(9 < (byte)(bVar6 - 0x30))" (( "(") (binary_expression "9 < (byte)(bVar6 - 0x30)" (number_literal "9") (< "<") (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar6 - 0x30)" (( "(") (binary_expression "bVar6 - 0x30" (identifier "bVar6") (- "-") (number_literal "0x30")) () ")")))) () ")")) (goto_statement "goto switchD_001113be_caseD_26;" (goto "goto") (statement_identifier "switchD_001113be_caseD_26") (; ";"))) (} "}")) (else_clause "else {\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }" (else "else") (compound_statement "{\n          bVar6 = pbVar8[1];\n          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;\n        }" ({ "{") (expression_statement "bVar6 = pbVar8[1];" (assignment_expression "bVar6 = pbVar8[1]" (identifier "bVar6") (= "=") (subscript_expression "pbVar8[1]" (identifier "pbVar8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;" (if "if") (parenthesized_expression "(9 < (byte)(bVar6 - 0x30))" (( "(") (binary_expression "9 < (byte)(bVar6 - 0x30)" (number_literal "9") (< "<") (call_expression "(byte)(bVar6 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar6 - 0x30)" (( "(") (binary_expression "bVar6 - 0x30" (identifier "bVar6") (- "-") (number_literal "0x30")) () ")")))) () ")")) (goto_statement "goto LAB_00111244;" (goto "goto") (statement_identifier "LAB_00111244") (; ";"))) (} "}")))) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (} "}"))) (if_statement "if (puVar3[8] == -1) {\n    puVar3[8] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }" (if "if") (parenthesized_expression "(puVar3[8] == -1)" (( "(") (binary_expression "puVar3[8] == -1" (subscript_expression "puVar3[8]" (identifier "puVar3") ([ "[") (number_literal "8") (] "]")) (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n    puVar3[8] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }" ({ "{") (expression_statement "puVar3[8] = local_60;" (assignment_expression "puVar3[8] = local_60" (subscript_expression "puVar3[8]" (identifier "puVar3") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "local_60")) (; ";")) (expression_statement "bVar17 = local_60 == -1;" (assignment_expression "bVar17 = local_60 == -1" (identifier "bVar17") (= "=") (binary_expression "local_60 == -1" (identifier "local_60") (== "==") (number_literal "-1"))) (; ";")) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" (identifier "local_60") (= "=") (binary_expression "local_60 + 1" (identifier "local_60") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (bVar17) goto switchD_001113be_caseD_26;" (if "if") (parenthesized_expression "(bVar17)" (( "(") (identifier "bVar17") () ")")) (goto_statement "goto switchD_001113be_caseD_26;" (goto "goto") (statement_identifier "switchD_001113be_caseD_26") (; ";"))) (} "}"))) (goto_statement "goto LAB_0011110c;" (goto "goto") (statement_identifier "LAB_0011110c") (; ";")) (labeled_statement "LAB_00111003:\n  uVar13 = uVar13 - 1;" (statement_identifier "LAB_00111003") (: ":") (expression_statement "uVar13 = uVar13 - 1;" (assignment_expression "uVar13 = uVar13 - 1" (identifier "uVar13") (= "=") (binary_expression "uVar13 - 1" (identifier "uVar13") (- "-") (number_literal "1"))) (; ";"))) (if_statement "if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;" (if "if") (parenthesized_expression "(0xfffffffffffffffd < uVar13)" (( "(") (binary_expression "0xfffffffffffffffd < uVar13" (number_literal "0xfffffffffffffffd") (< "<") (identifier "uVar13")) () ")")) (goto_statement "goto switchD_001113be_caseD_26;" (goto "goto") (statement_identifier "switchD_001113be_caseD_26") (; ";"))) (expression_statement "puVar3[5] = uVar13;" (assignment_expression "puVar3[5] = uVar13" (subscript_expression "puVar3[5]" (identifier "puVar3") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "pbVar8 = pbVar8 + 2;" (assignment_expression "pbVar8 = pbVar8 + 2" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 2" (identifier "pbVar8") (+ "+") (number_literal "2"))) (; ";")) (labeled_statement "LAB_00110ebb:\n  uVar13 = puVar3[5];" (statement_identifier "LAB_00110ebb") (: ":") (expression_statement "uVar13 = puVar3[5];" (assignment_expression "uVar13 = puVar3[5]" (identifier "uVar13") (= "=") (subscript_expression "puVar3[5]" (identifier "puVar3") ([ "[") (number_literal "5") (] "]"))) (; ";"))) (if_statement "if (uVar13 < local_90) {\nLAB_00110f4e:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) goto switchD_001113be_caseD_26;\n    goto LAB_00110e66;\n  }" (if "if") (parenthesized_expression "(uVar13 < local_90)" (( "(") (binary_expression "uVar13 < local_90" (identifier "uVar13") (< "<") (identifier "local_90")) () ")")) (compound_statement "{\nLAB_00110f4e:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) goto switchD_001113be_caseD_26;\n    goto LAB_00110e66;\n  }" ({ "{") (labeled_statement "LAB_00110f4e:\n    uVar11 = *param_3;" (statement_identifier "LAB_00110f4e") (: ":") (expression_statement "uVar11 = *param_3;" (assignment_expression "uVar11 = *param_3" (identifier "uVar11") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";"))) (while_statement "while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }" (while "while") (parenthesized_expression "(uVar11 <= uVar13)" (( "(") (binary_expression "uVar11 <= uVar13" (identifier "uVar11") (<= "<=") (identifier "uVar13")) () ")")) (compound_statement "{\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }" ({ "{") (expression_statement "*param_3 = uVar11 + 1;" (assignment_expression "*param_3 = uVar11 + 1" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar11 + 1" (identifier "uVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;" (assignment_expression "*(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0" (pointer_expression "*(undefined4 *)(uVar11 * 0x20 + param_3[1])" (* "*") (cast_expression "(undefined4 *)(uVar11 * 0x20 + param_3[1])" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 * 0x20 + param_3[1])" (( "(") (binary_expression "uVar11 * 0x20 + param_3[1]" (binary_expression "uVar11 * 0x20" (identifier "uVar11") (* "*") (number_literal "0x20")) (+ "+") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar11 = *param_3;" (assignment_expression "uVar11 = *param_3" (identifier "uVar11") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (} "}"))) (expression_statement "piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);" (assignment_expression "piVar9 = (int *)(uVar13 * 0x20 + param_3[1])" (identifier "piVar9") (= "=") (cast_expression "(int *)(uVar13 * 0x20 + param_3[1])" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar13 * 0x20 + param_3[1])" (( "(") (binary_expression "uVar13 * 0x20 + param_3[1]" (binary_expression "uVar13 * 0x20" (identifier "uVar13") (* "*") (number_literal "0x20")) (+ "+") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]"))) () ")")))) (; ";")) (expression_statement "iVar7 = *piVar9;" (assignment_expression "iVar7 = *piVar9" (identifier "iVar7") (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (if_statement "if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) goto switchD_001113be_caseD_26;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *piVar9 = 5;\n    }" ({ "{") (expression_statement "*piVar9 = 5;" (assignment_expression "*piVar9 = 5" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (number_literal "5")) (; ";")) (} "}")) (else_clause "else if (iVar7 != 5) goto switchD_001113be_caseD_26;" (else "else") (if_statement "if (iVar7 != 5) goto switchD_001113be_caseD_26;" (if "if") (parenthesized_expression "(iVar7 != 5)" (( "(") (binary_expression "iVar7 != 5" (identifier "iVar7") (!= "!=") (number_literal "5")) () ")")) (goto_statement "goto switchD_001113be_caseD_26;" (goto "goto") (statement_identifier "switchD_001113be_caseD_26") (; ";"))))) (goto_statement "goto LAB_00110e66;" (goto "goto") (statement_identifier "LAB_00110e66") (; ";")) (} "}"))) (if_statement "if ((-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)))) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }\n    if (local_78 != (void *)0x0) {\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }\n  }" (if "if") (parenthesized_expression "((-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000))))" (( "(") (binary_expression "(-1 < (long)local_90) &&\n     (((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)))" (parenthesized_expression "(-1 < (long)local_90)" (( "(") (binary_expression "-1 < (long)local_90" (number_literal "-1") (< "<") (cast_expression "(long)local_90" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_90"))) () ")")) (&& "&&") (parenthesized_expression "(((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)))" (( "(") (parenthesized_expression "((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000))" (( "(") (binary_expression "(local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))\n      && (local_90 < 0x800000000000000)" (parenthesized_expression "(local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))" (( "(") (comma_expression "local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90)" (assignment_expression "local_90 = local_90 * 2" (identifier "local_90") (= "=") (binary_expression "local_90 * 2" (identifier "local_90") (* "*") (number_literal "2"))) (, ",") (binary_expression "uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90)" (binary_expression "uVar13 < local_90" (identifier "uVar13") (< "<") (identifier "local_90")) (|| "||") (parenthesized_expression "(local_90 = uVar13 + 1, uVar13 <= local_90)" (( "(") (comma_expression "local_90 = uVar13 + 1, uVar13 <= local_90" (assignment_expression "local_90 = uVar13 + 1" (identifier "local_90") (= "=") (binary_expression "uVar13 + 1" (identifier "uVar13") (+ "+") (number_literal "1"))) (, ",") (binary_expression "uVar13 <= local_90" (identifier "uVar13") (<= "<=") (identifier "local_90"))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(local_90 < 0x800000000000000)" (( "(") (binary_expression "local_90 < 0x800000000000000" (identifier "local_90") (< "<") (number_literal "0x800000000000000")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }\n    if (local_78 != (void *)0x0) {\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }\n  }" ({ "{") (if_statement "if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }" (if "if") (parenthesized_expression "(puVar2 == (ulong *)param_3[1])" (( "(") (binary_expression "puVar2 == (ulong *)param_3[1]" (identifier "puVar2") (== "==") (cast_expression "(ulong *)param_3[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n      local_78 = malloc(local_90 << 5);\n    }" ({ "{") (expression_statement "local_78 = malloc(local_90 << 5);" (assignment_expression "local_78 = malloc(local_90 << 5)" (identifier "local_78") (= "=") (call_expression "malloc(local_90 << 5)" (identifier "malloc") (argument_list "(local_90 << 5)" (( "(") (binary_expression "local_90 << 5" (identifier "local_90") (<< "<<") (number_literal "5")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }" (else "else") (compound_statement "{\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n    }" ({ "{") (expression_statement "local_78 = realloc((ulong *)param_3[1],local_90 << 5);" (assignment_expression "local_78 = realloc((ulong *)param_3[1],local_90 << 5)" (identifier "local_78") (= "=") (call_expression "realloc((ulong *)param_3[1],local_90 << 5)" (identifier "realloc") (argument_list "((ulong *)param_3[1],local_90 << 5)" (( "(") (cast_expression "(ulong *)param_3[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]"))) (, ",") (binary_expression "local_90 << 5" (identifier "local_90") (<< "<<") (number_literal "5")) () ")")))) (; ";")) (} "}")))) (if_statement "if (local_78 != (void *)0x0) {\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }" (if "if") (parenthesized_expression "(local_78 != (void *)0x0)" (( "(") (binary_expression "local_78 != (void *)0x0" (identifier "local_78") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }\n      param_3[1] = (ulong)local_78;\n      goto LAB_00110f4e;\n    }" ({ "{") (if_statement "if (puVar2 == (ulong *)param_3[1]) {\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }" (if "if") (parenthesized_expression "(puVar2 == (ulong *)param_3[1])" (( "(") (binary_expression "puVar2 == (ulong *)param_3[1]" (identifier "puVar2") (== "==") (cast_expression "(ulong *)param_3[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);\n      }" ({ "{") (expression_statement "memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);" (call_expression "memcpy(local_78,(ulong *)param_3[1],*param_3 << 5)" (identifier "memcpy") (argument_list "(local_78,(ulong *)param_3[1],*param_3 << 5)" (( "(") (identifier "local_78") (, ",") (cast_expression "(ulong *)param_3[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]"))) (, ",") (binary_expression "*param_3 << 5" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (<< "<<") (number_literal "5")) () ")"))) (; ";")) (} "}"))) (expression_statement "param_3[1] = (ulong)local_78;" (assignment_expression "param_3[1] = (ulong)local_78" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(ulong)local_78" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_78"))) (; ";")) (goto_statement "goto LAB_00110f4e;" (goto "goto") (statement_identifier "LAB_00110f4e") (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_00111292;" (goto "goto") (statement_identifier "LAB_00111292") (; ";")) (labeled_statement "LAB_0011139e:\n  param_1 = param_1 + 1;" (statement_identifier "LAB_0011139e") (: ":") (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" (identifier "param_1") (= "=") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1"))) (; ";"))) (switch_statement "switch(bVar6) {\n  case 0x25:\n    goto switchD_001113be_caseD_25;\n  default:\n    goto switchD_001113be_caseD_26;\n  case 0x41:\n  case 0x45:\n  case 0x46:\n  case 0x47:\n  case 0x61:\n  case 0x65:\n  case 0x66:\n  case 0x67:\n    iVar7 = 0xc;\n    if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }\n    break;\n  case 0x43:\n    iVar7 = 0xe;\n    bVar6 = 99;\n    break;\n  case 0x53:\n    iVar7 = 0x10;\n    bVar6 = 0x73;\n    break;\n  case 0x58:\n  case 0x6f:\n  case 0x75:\n  case 0x78:\n    iVar7 = 10;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }\n    break;\n  case 99:\n    iVar7 = (7 < (int)uVar14) + 0xd;\n    break;\n  case 100:\n  case 0x69:\n    iVar7 = 9;\n    if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }\n    break;\n  case 0x6e:\n    iVar7 = 0x16;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }\n    break;\n  case 0x70:\n    iVar7 = 0x11;\n    break;\n  case 0x73:\n    iVar7 = (7 < (int)uVar14) + 0xf;\n  }" (switch "switch") (parenthesized_expression "(bVar6)" (( "(") (identifier "bVar6") () ")")) (compound_statement "{\n  case 0x25:\n    goto switchD_001113be_caseD_25;\n  default:\n    goto switchD_001113be_caseD_26;\n  case 0x41:\n  case 0x45:\n  case 0x46:\n  case 0x47:\n  case 0x61:\n  case 0x65:\n  case 0x66:\n  case 0x67:\n    iVar7 = 0xc;\n    if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }\n    break;\n  case 0x43:\n    iVar7 = 0xe;\n    bVar6 = 99;\n    break;\n  case 0x53:\n    iVar7 = 0x10;\n    bVar6 = 0x73;\n    break;\n  case 0x58:\n  case 0x6f:\n  case 0x75:\n  case 0x78:\n    iVar7 = 10;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }\n    break;\n  case 99:\n    iVar7 = (7 < (int)uVar14) + 0xd;\n    break;\n  case 100:\n  case 0x69:\n    iVar7 = 9;\n    if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }\n    break;\n  case 0x6e:\n    iVar7 = 0x16;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }\n    break;\n  case 0x70:\n    iVar7 = 0x11;\n    break;\n  case 0x73:\n    iVar7 = (7 < (int)uVar14) + 0xf;\n  }" ({ "{") (case_statement "case 0x25:\n    goto switchD_001113be_caseD_25;" (case "case") (number_literal "0x25") (: ":") (goto_statement "goto switchD_001113be_caseD_25;" (goto "goto") (statement_identifier "switchD_001113be_caseD_25") (; ";"))) (case_statement "default:\n    goto switchD_001113be_caseD_26;" (default "default") (: ":") (goto_statement "goto switchD_001113be_caseD_26;" (goto "goto") (statement_identifier "switchD_001113be_caseD_26") (; ";"))) (case_statement "case 0x41:" (case "case") (number_literal "0x41") (: ":")) (case_statement "case 0x45:" (case "case") (number_literal "0x45") (: ":")) (case_statement "case 0x46:" (case "case") (number_literal "0x46") (: ":")) (case_statement "case 0x47:" (case "case") (number_literal "0x47") (: ":")) (case_statement "case 0x61:" (case "case") (number_literal "0x61") (: ":")) (case_statement "case 0x65:" (case "case") (number_literal "0x65") (: ":")) (case_statement "case 0x66:" (case "case") (number_literal "0x66") (: ":")) (case_statement "case 0x67:\n    iVar7 = 0xc;\n    if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }\n    break;" (case "case") (number_literal "0x67") (: ":") (expression_statement "iVar7 = 0xc;" (assignment_expression "iVar7 = 0xc" (identifier "iVar7") (= "=") (number_literal "0xc")) (; ";")) (if_statement "if ((int)uVar14 < 0x10) {\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }" (if "if") (parenthesized_expression "((int)uVar14 < 0x10)" (( "(") (binary_expression "(int)uVar14 < 0x10" (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14")) (< "<") (number_literal "0x10")) () ")")) (compound_statement "{\n      iVar7 = ((uVar14 & 4) != 0) + 0xb;\n    }" ({ "{") (expression_statement "iVar7 = ((uVar14 & 4) != 0) + 0xb;" (assignment_expression "iVar7 = ((uVar14 & 4) != 0) + 0xb" (identifier "iVar7") (= "=") (binary_expression "((uVar14 & 4) != 0) + 0xb" (parenthesized_expression "((uVar14 & 4) != 0)" (( "(") (binary_expression "(uVar14 & 4) != 0" (parenthesized_expression "(uVar14 & 4)" (( "(") (binary_expression "uVar14 & 4" (identifier "uVar14") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (+ "+") (number_literal "0xb"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x43:\n    iVar7 = 0xe;\n    bVar6 = 99;\n    break;" (case "case") (number_literal "0x43") (: ":") (expression_statement "iVar7 = 0xe;" (assignment_expression "iVar7 = 0xe" (identifier "iVar7") (= "=") (number_literal "0xe")) (; ";")) (expression_statement "bVar6 = 99;" (assignment_expression "bVar6 = 99" (identifier "bVar6") (= "=") (number_literal "99")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x53:\n    iVar7 = 0x10;\n    bVar6 = 0x73;\n    break;" (case "case") (number_literal "0x53") (: ":") (expression_statement "iVar7 = 0x10;" (assignment_expression "iVar7 = 0x10" (identifier "iVar7") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "bVar6 = 0x73;" (assignment_expression "bVar6 = 0x73" (identifier "bVar6") (= "=") (number_literal "0x73")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x58:" (case "case") (number_literal "0x58") (: ":")) (case_statement "case 0x6f:" (case "case") (number_literal "0x6f") (: ":")) (case_statement "case 0x75:" (case "case") (number_literal "0x75") (: ":")) (case_statement "case 0x78:\n    iVar7 = 10;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }\n    break;" (case "case") (number_literal "0x78") (: ":") (expression_statement "iVar7 = 10;" (assignment_expression "iVar7 = 10" (identifier "iVar7") (= "=") (number_literal "10")) (; ";")) (if_statement "if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }" (if "if") (parenthesized_expression "((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0))))" (( "(") (binary_expression "(((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))" (parenthesized_expression "(((int)uVar14 < 0x10) && ((uVar14 & 4) == 0))" (( "(") (binary_expression "((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)" (parenthesized_expression "((int)uVar14 < 0x10)" (( "(") (binary_expression "(int)uVar14 < 0x10" (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14")) (< "<") (number_literal "0x10")) () ")")) (&& "&&") (parenthesized_expression "((uVar14 & 4) == 0)" (( "(") (binary_expression "(uVar14 & 4) == 0" (parenthesized_expression "(uVar14 & 4)" (( "(") (binary_expression "uVar14 & 4" (identifier "uVar14") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))" (( "(") (parenthesized_expression "(iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0))" (( "(") (comma_expression "iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)" (assignment_expression "iVar7 = 8" (identifier "iVar7") (= "=") (number_literal "8")) (, ",") (binary_expression "(int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)" (binary_expression "(int)uVar14 < 8" (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14")) (< "<") (number_literal "8")) (&& "&&") (parenthesized_expression "(iVar7 = 2, (uVar14 & 2) == 0)" (( "(") (comma_expression "iVar7 = 2, (uVar14 & 2) == 0" (assignment_expression "iVar7 = 2" (identifier "iVar7") (= "=") (number_literal "2")) (, ",") (binary_expression "(uVar14 & 2) == 0" (parenthesized_expression "(uVar14 & 2)" (( "(") (binary_expression "uVar14 & 2" (identifier "uVar14") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;\n    }" ({ "{") (expression_statement "iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;" (assignment_expression "iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4" (identifier "iVar7") (= "=") (binary_expression "(-(uint)((uVar14 & 1) == 0) & 2) + 4" (parenthesized_expression "(-(uint)((uVar14 & 1) == 0) & 2)" (( "(") (binary_expression "-(uint)((uVar14 & 1) == 0) & 2" (unary_expression "-(uint)((uVar14 & 1) == 0)" (- "-") (call_expression "(uint)((uVar14 & 1) == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uVar14 & 1) == 0)" (( "(") (binary_expression "(uVar14 & 1) == 0" (parenthesized_expression "(uVar14 & 1)" (( "(") (binary_expression "uVar14 & 1" (identifier "uVar14") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")))) (& "&") (number_literal "2")) () ")")) (+ "+") (number_literal "4"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 99:\n    iVar7 = (7 < (int)uVar14) + 0xd;\n    break;" (case "case") (number_literal "99") (: ":") (expression_statement "iVar7 = (7 < (int)uVar14) + 0xd;" (assignment_expression "iVar7 = (7 < (int)uVar14) + 0xd" (identifier "iVar7") (= "=") (binary_expression "(7 < (int)uVar14) + 0xd" (parenthesized_expression "(7 < (int)uVar14)" (( "(") (binary_expression "7 < (int)uVar14" (number_literal "7") (< "<") (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14"))) () ")")) (+ "+") (number_literal "0xd"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 100:" (case "case") (number_literal "100") (: ":")) (case_statement "case 0x69:\n    iVar7 = 9;\n    if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }\n    break;" (case "case") (number_literal "0x69") (: ":") (expression_statement "iVar7 = 9;" (assignment_expression "iVar7 = 9" (identifier "iVar7") (= "=") (number_literal "9")) (; ";")) (if_statement "if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)) {\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }" (if "if") (parenthesized_expression "(((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0))" (( "(") (binary_expression "((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&\n       (iVar7 = 1, (uVar14 & 2) == 0)" (parenthesized_expression "((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8))" (( "(") (binary_expression "(((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)" (parenthesized_expression "(((int)uVar14 < 0x10) && ((uVar14 & 4) == 0))" (( "(") (binary_expression "((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)" (parenthesized_expression "((int)uVar14 < 0x10)" (( "(") (binary_expression "(int)uVar14 < 0x10" (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14")) (< "<") (number_literal "0x10")) () ")")) (&& "&&") (parenthesized_expression "((uVar14 & 4) == 0)" (( "(") (binary_expression "(uVar14 & 4) == 0" (parenthesized_expression "(uVar14 & 4)" (( "(") (binary_expression "uVar14 & 4" (identifier "uVar14") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar7 = 7, (int)uVar14 < 8)" (( "(") (comma_expression "iVar7 = 7, (int)uVar14 < 8" (assignment_expression "iVar7 = 7" (identifier "iVar7") (= "=") (number_literal "7")) (, ",") (binary_expression "(int)uVar14 < 8" (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14")) (< "<") (number_literal "8"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar7 = 1, (uVar14 & 2) == 0)" (( "(") (comma_expression "iVar7 = 1, (uVar14 & 2) == 0" (assignment_expression "iVar7 = 1" (identifier "iVar7") (= "=") (number_literal "1")) (, ",") (binary_expression "(uVar14 & 2) == 0" (parenthesized_expression "(uVar14 & 2)" (( "(") (binary_expression "uVar14 & 2" (identifier "uVar14") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;\n    }" ({ "{") (expression_statement "iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;" (assignment_expression "iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3" (identifier "iVar7") (= "=") (binary_expression "(-(uint)((uVar14 & 1) == 0) & 2) + 3" (parenthesized_expression "(-(uint)((uVar14 & 1) == 0) & 2)" (( "(") (binary_expression "-(uint)((uVar14 & 1) == 0) & 2" (unary_expression "-(uint)((uVar14 & 1) == 0)" (- "-") (call_expression "(uint)((uVar14 & 1) == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uVar14 & 1) == 0)" (( "(") (binary_expression "(uVar14 & 1) == 0" (parenthesized_expression "(uVar14 & 1)" (( "(") (binary_expression "uVar14 & 1" (identifier "uVar14") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")))) (& "&") (number_literal "2")) () ")")) (+ "+") (number_literal "3"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x6e:\n    iVar7 = 0x16;\n    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }\n    break;" (case "case") (number_literal "0x6e") (: ":") (expression_statement "iVar7 = 0x16;" (assignment_expression "iVar7 = 0x16" (identifier "iVar7") (= "=") (number_literal "0x16")) (; ";")) (if_statement "if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }" (if "if") (parenthesized_expression "((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0))))" (( "(") (binary_expression "(((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&\n       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))" (parenthesized_expression "(((int)uVar14 < 0x10) && ((uVar14 & 4) == 0))" (( "(") (binary_expression "((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)" (parenthesized_expression "((int)uVar14 < 0x10)" (( "(") (binary_expression "(int)uVar14 < 0x10" (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14")) (< "<") (number_literal "0x10")) () ")")) (&& "&&") (parenthesized_expression "((uVar14 & 4) == 0)" (( "(") (binary_expression "(uVar14 & 4) == 0" (parenthesized_expression "(uVar14 & 4)" (( "(") (binary_expression "uVar14 & 4" (identifier "uVar14") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))" (( "(") (parenthesized_expression "(iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0))" (( "(") (comma_expression "iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)" (assignment_expression "iVar7 = 0x15" (identifier "iVar7") (= "=") (number_literal "0x15")) (, ",") (binary_expression "(int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)" (binary_expression "(int)uVar14 < 8" (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14")) (< "<") (number_literal "8")) (&& "&&") (parenthesized_expression "(iVar7 = 0x12, (uVar14 & 2) == 0)" (( "(") (comma_expression "iVar7 = 0x12, (uVar14 & 2) == 0" (assignment_expression "iVar7 = 0x12" (identifier "iVar7") (= "=") (number_literal "0x12")) (, ",") (binary_expression "(uVar14 & 2) == 0" (parenthesized_expression "(uVar14 & 2)" (( "(") (binary_expression "uVar14 & 2" (identifier "uVar14") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n      iVar7 = (uVar14 & 1 ^ 1) + 0x13;\n    }" ({ "{") (expression_statement "iVar7 = (uVar14 & 1 ^ 1) + 0x13;" (assignment_expression "iVar7 = (uVar14 & 1 ^ 1) + 0x13" (identifier "iVar7") (= "=") (binary_expression "(uVar14 & 1 ^ 1) + 0x13" (parenthesized_expression "(uVar14 & 1 ^ 1)" (( "(") (binary_expression "uVar14 & 1 ^ 1" (binary_expression "uVar14 & 1" (identifier "uVar14") (& "&") (number_literal "1")) (^ "^") (number_literal "1")) () ")")) (+ "+") (number_literal "0x13"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x70:\n    iVar7 = 0x11;\n    break;" (case "case") (number_literal "0x70") (: ":") (expression_statement "iVar7 = 0x11;" (assignment_expression "iVar7 = 0x11" (identifier "iVar7") (= "=") (number_literal "0x11")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x73:\n    iVar7 = (7 < (int)uVar14) + 0xf;" (case "case") (number_literal "0x73") (: ":") (expression_statement "iVar7 = (7 < (int)uVar14) + 0xf;" (assignment_expression "iVar7 = (7 < (int)uVar14) + 0xf" (identifier "iVar7") (= "=") (binary_expression "(7 < (int)uVar14) + 0xf" (parenthesized_expression "(7 < (int)uVar14)" (( "(") (binary_expression "7 < (int)uVar14" (number_literal "7") (< "<") (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14"))) () ")")) (+ "+") (number_literal "0xf"))) (; ";"))) (} "}"))) (if_statement "if (uVar16 == 0xffffffffffffffff) {\n    puVar3[10] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }\n  else {\n    puVar3[10] = uVar16;\n  }" (if "if") (parenthesized_expression "(uVar16 == 0xffffffffffffffff)" (( "(") (binary_expression "uVar16 == 0xffffffffffffffff" (identifier "uVar16") (== "==") (number_literal "0xffffffffffffffff")) () ")")) (compound_statement "{\n    puVar3[10] = local_60;\n    bVar17 = local_60 == -1;\n    local_60 = local_60 + 1;\n    if (bVar17) goto switchD_001113be_caseD_26;\n  }" ({ "{") (expression_statement "puVar3[10] = local_60;" (assignment_expression "puVar3[10] = local_60" (subscript_expression "puVar3[10]" (identifier "puVar3") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "local_60")) (; ";")) (expression_statement "bVar17 = local_60 == -1;" (assignment_expression "bVar17 = local_60 == -1" (identifier "bVar17") (= "=") (binary_expression "local_60 == -1" (identifier "local_60") (== "==") (number_literal "-1"))) (; ";")) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" (identifier "local_60") (= "=") (binary_expression "local_60 + 1" (identifier "local_60") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (bVar17) goto switchD_001113be_caseD_26;" (if "if") (parenthesized_expression "(bVar17)" (( "(") (identifier "bVar17") () ")")) (goto_statement "goto switchD_001113be_caseD_26;" (goto "goto") (statement_identifier "switchD_001113be_caseD_26") (; ";"))) (} "}")) (else_clause "else {\n    puVar3[10] = uVar16;\n  }" (else "else") (compound_statement "{\n    puVar3[10] = uVar16;\n  }" ({ "{") (expression_statement "puVar3[10] = uVar16;" (assignment_expression "puVar3[10] = uVar16" (subscript_expression "puVar3[10]" (identifier "puVar3") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "uVar16")) (; ";")) (} "}")))) (expression_statement "uVar16 = puVar3[10];" (assignment_expression "uVar16 = puVar3[10]" (identifier "uVar16") (= "=") (subscript_expression "puVar3[10]" (identifier "puVar3") ([ "[") (number_literal "10") (] "]"))) (; ";")) (if_statement "if (uVar16 < local_90) {\nLAB_001115b1:\n    uVar10 = *param_3;\n    while (uVar10 <= uVar16) {\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }\n    piVar9 = (int *)(uVar16 * 0x20 + param_3[1]);\n    iVar5 = *piVar9;\n    if (iVar5 == 0) {\n      *piVar9 = iVar7;\n    }\n    else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;\nswitchD_001113be_caseD_25:\n    *(byte *)(puVar3 + 9) = bVar6;\n    puVar3[1] = param_1;\n    uVar16 = *param_2;\n    *param_2 = uVar16 + 1;\n    if (uVar16 + 1 < local_68) goto LAB_00110cf5;\n    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;\n    puVar15 = (ulong *)param_2[1];\n    if (puVar1 != puVar15) {\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }\n    __dest = malloc(local_68 * 0xb0);\n    if (__dest != (void *)0x0) goto LAB_00111732;\n    puVar15 = (ulong *)param_3[1];\n    if (puVar2 == puVar15) goto LAB_001112b2;\n    goto LAB_0011129d;\n  }" (if "if") (parenthesized_expression "(uVar16 < local_90)" (( "(") (binary_expression "uVar16 < local_90" (identifier "uVar16") (< "<") (identifier "local_90")) () ")")) (compound_statement "{\nLAB_001115b1:\n    uVar10 = *param_3;\n    while (uVar10 <= uVar16) {\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }\n    piVar9 = (int *)(uVar16 * 0x20 + param_3[1]);\n    iVar5 = *piVar9;\n    if (iVar5 == 0) {\n      *piVar9 = iVar7;\n    }\n    else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;\nswitchD_001113be_caseD_25:\n    *(byte *)(puVar3 + 9) = bVar6;\n    puVar3[1] = param_1;\n    uVar16 = *param_2;\n    *param_2 = uVar16 + 1;\n    if (uVar16 + 1 < local_68) goto LAB_00110cf5;\n    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;\n    puVar15 = (ulong *)param_2[1];\n    if (puVar1 != puVar15) {\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }\n    __dest = malloc(local_68 * 0xb0);\n    if (__dest != (void *)0x0) goto LAB_00111732;\n    puVar15 = (ulong *)param_3[1];\n    if (puVar2 == puVar15) goto LAB_001112b2;\n    goto LAB_0011129d;\n  }" ({ "{") (labeled_statement "LAB_001115b1:\n    uVar10 = *param_3;" (statement_identifier "LAB_001115b1") (: ":") (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" (identifier "uVar10") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";"))) (while_statement "while (uVar10 <= uVar16) {\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }" (while "while") (parenthesized_expression "(uVar10 <= uVar16)" (( "(") (binary_expression "uVar10 <= uVar16" (identifier "uVar10") (<= "<=") (identifier "uVar16")) () ")")) (compound_statement "{\n      *param_3 = uVar10 + 1;\n      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;\n      uVar10 = *param_3;\n    }" ({ "{") (expression_statement "*param_3 = uVar10 + 1;" (assignment_expression "*param_3 = uVar10 + 1" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;" (assignment_expression "*(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0" (pointer_expression "*(undefined4 *)(uVar10 * 0x20 + param_3[1])" (* "*") (cast_expression "(undefined4 *)(uVar10 * 0x20 + param_3[1])" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar10 * 0x20 + param_3[1])" (( "(") (binary_expression "uVar10 * 0x20 + param_3[1]" (binary_expression "uVar10 * 0x20" (identifier "uVar10") (* "*") (number_literal "0x20")) (+ "+") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" (identifier "uVar10") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (} "}"))) (expression_statement "piVar9 = (int *)(uVar16 * 0x20 + param_3[1]);" (assignment_expression "piVar9 = (int *)(uVar16 * 0x20 + param_3[1])" (identifier "piVar9") (= "=") (cast_expression "(int *)(uVar16 * 0x20 + param_3[1])" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar16 * 0x20 + param_3[1])" (( "(") (binary_expression "uVar16 * 0x20 + param_3[1]" (binary_expression "uVar16 * 0x20" (identifier "uVar16") (* "*") (number_literal "0x20")) (+ "+") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]"))) () ")")))) (; ";")) (expression_statement "iVar5 = *piVar9;" (assignment_expression "iVar5 = *piVar9" (identifier "iVar5") (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (if_statement "if (iVar5 == 0) {\n      *piVar9 = iVar7;\n    }\n    else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *piVar9 = iVar7;\n    }" ({ "{") (expression_statement "*piVar9 = iVar7;" (assignment_expression "*piVar9 = iVar7" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (identifier "iVar7")) (; ";")) (} "}")) (else_clause "else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;" (else "else") (if_statement "if (iVar5 != iVar7) goto switchD_001113be_caseD_26;" (if "if") (parenthesized_expression "(iVar5 != iVar7)" (( "(") (binary_expression "iVar5 != iVar7" (identifier "iVar5") (!= "!=") (identifier "iVar7")) () ")")) (goto_statement "goto switchD_001113be_caseD_26;" (goto "goto") (statement_identifier "switchD_001113be_caseD_26") (; ";"))))) (labeled_statement "switchD_001113be_caseD_25:\n    *(byte *)(puVar3 + 9) = bVar6;" (statement_identifier "switchD_001113be_caseD_25") (: ":") (expression_statement "*(byte *)(puVar3 + 9) = bVar6;" (assignment_expression "*(byte *)(puVar3 + 9) = bVar6" (pointer_expression "*(byte *)(puVar3 + 9)" (* "*") (cast_expression "(byte *)(puVar3 + 9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 9)" (( "(") (binary_expression "puVar3 + 9" (identifier "puVar3") (+ "+") (number_literal "9")) () ")")))) (= "=") (identifier "bVar6")) (; ";"))) (expression_statement "puVar3[1] = param_1;" (assignment_expression "puVar3[1] = param_1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "param_1")) (; ";")) (expression_statement "uVar16 = *param_2;" (assignment_expression "uVar16 = *param_2" (identifier "uVar16") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "*param_2 = uVar16 + 1;" (assignment_expression "*param_2 = uVar16 + 1" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (binary_expression "uVar16 + 1" (identifier "uVar16") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar16 + 1 < local_68) goto LAB_00110cf5;" (if "if") (parenthesized_expression "(uVar16 + 1 < local_68)" (( "(") (binary_expression "uVar16 + 1 < local_68" (binary_expression "uVar16 + 1" (identifier "uVar16") (+ "+") (number_literal "1")) (< "<") (identifier "local_68")) () ")")) (goto_statement "goto LAB_00110cf5;" (goto "goto") (statement_identifier "LAB_00110cf5") (; ";"))) (if_statement "if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;" (if "if") (parenthesized_expression "(((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2))" (( "(") (binary_expression "((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)" (parenthesized_expression "((long)local_68 < 0)" (( "(") (binary_expression "(long)local_68 < 0" (cast_expression "(long)local_68" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_68")) (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(0x2e8ba2e8ba2e8ba < local_68 * 2)" (( "(") (binary_expression "0x2e8ba2e8ba2e8ba < local_68 * 2" (number_literal "0x2e8ba2e8ba2e8ba") (< "<") (binary_expression "local_68 * 2" (identifier "local_68") (* "*") (number_literal "2"))) () ")"))) () ")")) (goto_statement "goto LAB_00111292;" (goto "goto") (statement_identifier "LAB_00111292") (; ";"))) (expression_statement "puVar15 = (ulong *)param_2[1];" (assignment_expression "puVar15 = (ulong *)param_2[1]" (identifier "puVar15") (= "=") (cast_expression "(ulong *)param_2[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (puVar1 != puVar15) {\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }" (if "if") (parenthesized_expression "(puVar1 != puVar15)" (( "(") (binary_expression "puVar1 != puVar15" (identifier "puVar1") (!= "!=") (identifier "puVar15")) () ")")) (compound_statement "{\n      __dest = realloc(puVar15,local_68 * 0xb0);\n      if (__dest == (void *)0x0) goto LAB_00111292;\n      puVar15 = (ulong *)param_2[1];\n      if (puVar1 != puVar15) goto LAB_0011166e;\nLAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);\nLAB_0011166e:\n      param_2[1] = (ulong)__dest;\n      local_68 = local_68 * 2;\n      goto LAB_00110cf5;\n    }" ({ "{") (expression_statement "__dest = realloc(puVar15,local_68 * 0xb0);" (assignment_expression "__dest = realloc(puVar15,local_68 * 0xb0)" (identifier "__dest") (= "=") (call_expression "realloc(puVar15,local_68 * 0xb0)" (identifier "realloc") (argument_list "(puVar15,local_68 * 0xb0)" (( "(") (identifier "puVar15") (, ",") (binary_expression "local_68 * 0xb0" (identifier "local_68") (* "*") (number_literal "0xb0")) () ")")))) (; ";")) (if_statement "if (__dest == (void *)0x0) goto LAB_00111292;" (if "if") (parenthesized_expression "(__dest == (void *)0x0)" (( "(") (binary_expression "__dest == (void *)0x0" (identifier "__dest") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00111292;" (goto "goto") (statement_identifier "LAB_00111292") (; ";"))) (expression_statement "puVar15 = (ulong *)param_2[1];" (assignment_expression "puVar15 = (ulong *)param_2[1]" (identifier "puVar15") (= "=") (cast_expression "(ulong *)param_2[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (puVar1 != puVar15) goto LAB_0011166e;" (if "if") (parenthesized_expression "(puVar1 != puVar15)" (( "(") (binary_expression "puVar1 != puVar15" (identifier "puVar1") (!= "!=") (identifier "puVar15")) () ")")) (goto_statement "goto LAB_0011166e;" (goto "goto") (statement_identifier "LAB_0011166e") (; ";"))) (labeled_statement "LAB_00111732:\n      memcpy(__dest,puVar15,*param_2 * 0x58);" (statement_identifier "LAB_00111732") (: ":") (expression_statement "memcpy(__dest,puVar15,*param_2 * 0x58);" (call_expression "memcpy(__dest,puVar15,*param_2 * 0x58)" (identifier "memcpy") (argument_list "(__dest,puVar15,*param_2 * 0x58)" (( "(") (identifier "__dest") (, ",") (identifier "puVar15") (, ",") (binary_expression "*param_2 * 0x58" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (* "*") (number_literal "0x58")) () ")"))) (; ";"))) (labeled_statement "LAB_0011166e:\n      param_2[1] = (ulong)__dest;" (statement_identifier "LAB_0011166e") (: ":") (expression_statement "param_2[1] = (ulong)__dest;" (assignment_expression "param_2[1] = (ulong)__dest" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(ulong)__dest" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "__dest"))) (; ";"))) (expression_statement "local_68 = local_68 * 2;" (assignment_expression "local_68 = local_68 * 2" (identifier "local_68") (= "=") (binary_expression "local_68 * 2" (identifier "local_68") (* "*") (number_literal "2"))) (; ";")) (goto_statement "goto LAB_00110cf5;" (goto "goto") (statement_identifier "LAB_00110cf5") (; ";")) (} "}"))) (expression_statement "__dest = malloc(local_68 * 0xb0);" (assignment_expression "__dest = malloc(local_68 * 0xb0)" (identifier "__dest") (= "=") (call_expression "malloc(local_68 * 0xb0)" (identifier "malloc") (argument_list "(local_68 * 0xb0)" (( "(") (binary_expression "local_68 * 0xb0" (identifier "local_68") (* "*") (number_literal "0xb0")) () ")")))) (; ";")) (if_statement "if (__dest != (void *)0x0) goto LAB_00111732;" (if "if") (parenthesized_expression "(__dest != (void *)0x0)" (( "(") (binary_expression "__dest != (void *)0x0" (identifier "__dest") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00111732;" (goto "goto") (statement_identifier "LAB_00111732") (; ";"))) (expression_statement "puVar15 = (ulong *)param_3[1];" (assignment_expression "puVar15 = (ulong *)param_3[1]" (identifier "puVar15") (= "=") (cast_expression "(ulong *)param_3[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (puVar2 == puVar15) goto LAB_001112b2;" (if "if") (parenthesized_expression "(puVar2 == puVar15)" (( "(") (binary_expression "puVar2 == puVar15" (identifier "puVar2") (== "==") (identifier "puVar15")) () ")")) (goto_statement "goto LAB_001112b2;" (goto "goto") (statement_identifier "LAB_001112b2") (; ";"))) (goto_statement "goto LAB_0011129d;" (goto "goto") (statement_identifier "LAB_0011129d") (; ";")) (} "}"))) (if_statement "if ((((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))\n     || (0x7ffffffffffffff < local_90)) goto LAB_00111292;" (if "if") (parenthesized_expression "((((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))\n     || (0x7ffffffffffffff < local_90))" (( "(") (binary_expression "(((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))\n     || (0x7ffffffffffffff < local_90)" (parenthesized_expression "(((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))" (( "(") (binary_expression "((long)local_90 < 0) ||\n      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16)))" (parenthesized_expression "((long)local_90 < 0)" (( "(") (binary_expression "(long)local_90 < 0" (cast_expression "(long)local_90" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_90")) (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16)))" (( "(") (parenthesized_expression "(local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))" (( "(") (comma_expression "local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16)" (assignment_expression "local_90 = local_90 * 2" (identifier "local_90") (= "=") (binary_expression "local_90 * 2" (identifier "local_90") (* "*") (number_literal "2"))) (, ",") (binary_expression "local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16)" (binary_expression "local_90 <= uVar16" (identifier "local_90") (<= "<=") (identifier "uVar16")) (&& "&&") (parenthesized_expression "(local_90 = uVar16 + 1, local_90 < uVar16)" (( "(") (comma_expression "local_90 = uVar16 + 1, local_90 < uVar16" (assignment_expression "local_90 = uVar16 + 1" (identifier "local_90") (= "=") (binary_expression "uVar16 + 1" (identifier "uVar16") (+ "+") (number_literal "1"))) (, ",") (binary_expression "local_90 < uVar16" (identifier "local_90") (< "<") (identifier "uVar16"))) () ")")))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(0x7ffffffffffffff < local_90)" (( "(") (binary_expression "0x7ffffffffffffff < local_90" (number_literal "0x7ffffffffffffff") (< "<") (identifier "local_90")) () ")"))) () ")")) (goto_statement "goto LAB_00111292;" (goto "goto") (statement_identifier "LAB_00111292") (; ";"))) (expression_statement "local_48 = (ulong *)param_3[1];" (assignment_expression "local_48 = (ulong *)param_3[1]" (identifier "local_48") (= "=") (cast_expression "(ulong *)param_3[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (puVar2 != local_48) {\n    local_40 = realloc(local_48,local_90 << 5);\n    if (local_40 != (void *)0x0) {\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }\n    goto LAB_00111292;\n  }" (if "if") (parenthesized_expression "(puVar2 != local_48)" (( "(") (binary_expression "puVar2 != local_48" (identifier "puVar2") (!= "!=") (identifier "local_48")) () ")")) (compound_statement "{\n    local_40 = realloc(local_48,local_90 << 5);\n    if (local_40 != (void *)0x0) {\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }\n    goto LAB_00111292;\n  }" ({ "{") (expression_statement "local_40 = realloc(local_48,local_90 << 5);" (assignment_expression "local_40 = realloc(local_48,local_90 << 5)" (identifier "local_40") (= "=") (call_expression "realloc(local_48,local_90 << 5)" (identifier "realloc") (argument_list "(local_48,local_90 << 5)" (( "(") (identifier "local_48") (, ",") (binary_expression "local_90 << 5" (identifier "local_90") (<< "<<") (number_literal "5")) () ")")))) (; ";")) (if_statement "if (local_40 != (void *)0x0) {\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }" (if "if") (parenthesized_expression "(local_40 != (void *)0x0)" (( "(") (binary_expression "local_40 != (void *)0x0" (identifier "local_40") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      local_48 = (ulong *)param_3[1];\n      if (puVar2 == local_48) goto LAB_001116c7;\n      goto LAB_001115a8;\n    }" ({ "{") (expression_statement "local_48 = (ulong *)param_3[1];" (assignment_expression "local_48 = (ulong *)param_3[1]" (identifier "local_48") (= "=") (cast_expression "(ulong *)param_3[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (puVar2 == local_48) goto LAB_001116c7;" (if "if") (parenthesized_expression "(puVar2 == local_48)" (( "(") (binary_expression "puVar2 == local_48" (identifier "puVar2") (== "==") (identifier "local_48")) () ")")) (goto_statement "goto LAB_001116c7;" (goto "goto") (statement_identifier "LAB_001116c7") (; ";"))) (goto_statement "goto LAB_001115a8;" (goto "goto") (statement_identifier "LAB_001115a8") (; ";")) (} "}"))) (goto_statement "goto LAB_00111292;" (goto "goto") (statement_identifier "LAB_00111292") (; ";")) (} "}"))) (expression_statement "local_40 = malloc(local_90 << 5);" (assignment_expression "local_40 = malloc(local_90 << 5)" (identifier "local_40") (= "=") (call_expression "malloc(local_90 << 5)" (identifier "malloc") (argument_list "(local_90 << 5)" (( "(") (binary_expression "local_90 << 5" (identifier "local_90") (<< "<<") (number_literal "5")) () ")")))) (; ";")) (if_statement "if (local_40 != (void *)0x0) {\nLAB_001116c7:\n    memcpy(local_40,local_48,*param_3 << 5);\nLAB_001115a8:\n    param_3[1] = (ulong)local_40;\n    goto LAB_001115b1;\n  }" (if "if") (parenthesized_expression "(local_40 != (void *)0x0)" (( "(") (binary_expression "local_40 != (void *)0x0" (identifier "local_40") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_001116c7:\n    memcpy(local_40,local_48,*param_3 << 5);\nLAB_001115a8:\n    param_3[1] = (ulong)local_40;\n    goto LAB_001115b1;\n  }" ({ "{") (labeled_statement "LAB_001116c7:\n    memcpy(local_40,local_48,*param_3 << 5);" (statement_identifier "LAB_001116c7") (: ":") (expression_statement "memcpy(local_40,local_48,*param_3 << 5);" (call_expression "memcpy(local_40,local_48,*param_3 << 5)" (identifier "memcpy") (argument_list "(local_40,local_48,*param_3 << 5)" (( "(") (identifier "local_40") (, ",") (identifier "local_48") (, ",") (binary_expression "*param_3 << 5" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (<< "<<") (number_literal "5")) () ")"))) (; ";"))) (labeled_statement "LAB_001115a8:\n    param_3[1] = (ulong)local_40;" (statement_identifier "LAB_001115a8") (: ":") (expression_statement "param_3[1] = (ulong)local_40;" (assignment_expression "param_3[1] = (ulong)local_40" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(ulong)local_40" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_40"))) (; ";"))) (goto_statement "goto LAB_001115b1;" (goto "goto") (statement_identifier "LAB_001115b1") (; ";")) (} "}"))) (goto_statement "goto LAB_001112a2;" (goto "goto") (statement_identifier "LAB_001112a2") (; ";")) (labeled_statement "LAB_00111244:\n  uVar13 = uVar13 - 1;" (statement_identifier "LAB_00111244") (: ":") (expression_statement "uVar13 = uVar13 - 1;" (assignment_expression "uVar13 = uVar13 - 1" (identifier "uVar13") (= "=") (binary_expression "uVar13 - 1" (identifier "uVar13") (- "-") (number_literal "1"))) (; ";"))) (if_statement "if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;" (if "if") (parenthesized_expression "(0xfffffffffffffffd < uVar13)" (( "(") (binary_expression "0xfffffffffffffffd < uVar13" (number_literal "0xfffffffffffffffd") (< "<") (identifier "uVar13")) () ")")) (goto_statement "goto switchD_001113be_caseD_26;" (goto "goto") (statement_identifier "switchD_001113be_caseD_26") (; ";"))) (expression_statement "puVar3[8] = uVar13;" (assignment_expression "puVar3[8] = uVar13" (subscript_expression "puVar3[8]" (identifier "puVar3") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "param_1 = pbVar8 + 2;" (assignment_expression "param_1 = pbVar8 + 2" (identifier "param_1") (= "=") (binary_expression "pbVar8 + 2" (identifier "pbVar8") (+ "+") (number_literal "2"))) (; ";")) (labeled_statement "LAB_0011110c:\n  uVar13 = puVar3[8];" (statement_identifier "LAB_0011110c") (: ":") (expression_statement "uVar13 = puVar3[8];" (assignment_expression "uVar13 = puVar3[8]" (identifier "uVar13") (= "=") (subscript_expression "puVar3[8]" (identifier "puVar3") ([ "[") (number_literal "8") (] "]"))) (; ";"))) (if_statement "if (uVar13 < local_90) {\nLAB_0011118d:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }\nLAB_00110e6f:\n    local_70 = uVar10;\n    uVar14 = 0;\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }" (if "if") (parenthesized_expression "(uVar13 < local_90)" (( "(") (binary_expression "uVar13 < local_90" (identifier "uVar13") (< "<") (identifier "local_90")) () ")")) (compound_statement "{\nLAB_0011118d:\n    uVar11 = *param_3;\n    while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }\n    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);\n    iVar7 = *piVar9;\n    if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }\nLAB_00110e6f:\n    local_70 = uVar10;\n    uVar14 = 0;\n    do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    } while( true );\n  }" ({ "{") (labeled_statement "LAB_0011118d:\n    uVar11 = *param_3;" (statement_identifier "LAB_0011118d") (: ":") (expression_statement "uVar11 = *param_3;" (assignment_expression "uVar11 = *param_3" (identifier "uVar11") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";"))) (while_statement "while (uVar11 <= uVar13) {\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }" (while "while") (parenthesized_expression "(uVar11 <= uVar13)" (( "(") (binary_expression "uVar11 <= uVar13" (identifier "uVar11") (<= "<=") (identifier "uVar13")) () ")")) (compound_statement "{\n      *param_3 = uVar11 + 1;\n      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;\n      uVar11 = *param_3;\n    }" ({ "{") (expression_statement "*param_3 = uVar11 + 1;" (assignment_expression "*param_3 = uVar11 + 1" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar11 + 1" (identifier "uVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;" (assignment_expression "*(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0" (pointer_expression "*(undefined4 *)(uVar11 * 0x20 + param_3[1])" (* "*") (cast_expression "(undefined4 *)(uVar11 * 0x20 + param_3[1])" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 * 0x20 + param_3[1])" (( "(") (binary_expression "uVar11 * 0x20 + param_3[1]" (binary_expression "uVar11 * 0x20" (identifier "uVar11") (* "*") (number_literal "0x20")) (+ "+") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar11 = *param_3;" (assignment_expression "uVar11 = *param_3" (identifier "uVar11") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (} "}"))) (expression_statement "piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);" (assignment_expression "piVar9 = (int *)(uVar13 * 0x20 + param_3[1])" (identifier "piVar9") (= "=") (cast_expression "(int *)(uVar13 * 0x20 + param_3[1])" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar13 * 0x20 + param_3[1])" (( "(") (binary_expression "uVar13 * 0x20 + param_3[1]" (binary_expression "uVar13 * 0x20" (identifier "uVar13") (* "*") (number_literal "0x20")) (+ "+") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]"))) () ")")))) (; ";")) (expression_statement "iVar7 = *piVar9;" (assignment_expression "iVar7 = *piVar9" (identifier "iVar7") (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (if_statement "if (iVar7 == 0) {\n      *piVar9 = 5;\n    }\n    else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *piVar9 = 5;\n    }" ({ "{") (expression_statement "*piVar9 = 5;" (assignment_expression "*piVar9 = 5" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (number_literal "5")) (; ";")) (} "}")) (else_clause "else if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }" (else "else") (if_statement "if (iVar7 != 5) {\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }" (if "if") (parenthesized_expression "(iVar7 != 5)" (( "(") (binary_expression "iVar7 != 5" (identifier "iVar7") (!= "!=") (number_literal "5")) () ")")) (compound_statement "{\nswitchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }\n      if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }\n      piVar9 = __errno_location();\n      *piVar9 = 0x16;\n      return 0xffffffff;\n    }" ({ "{") (labeled_statement "switchD_001113be_caseD_26:\n      if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }" (statement_identifier "switchD_001113be_caseD_26") (: ":") (if_statement "if (puVar2 != (ulong *)param_3[1]) {\n        free((ulong *)param_3[1]);\n      }" (if "if") (parenthesized_expression "(puVar2 != (ulong *)param_3[1])" (( "(") (binary_expression "puVar2 != (ulong *)param_3[1]" (identifier "puVar2") (!= "!=") (cast_expression "(ulong *)param_3[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n        free((ulong *)param_3[1]);\n      }" ({ "{") (expression_statement "free((ulong *)param_3[1]);" (call_expression "free((ulong *)param_3[1])" (identifier "free") (argument_list "((ulong *)param_3[1])" (( "(") (cast_expression "(ulong *)param_3[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]"))) () ")"))) (; ";")) (} "}")))) (if_statement "if (puVar1 != (ulong *)param_2[1]) {\n        free((ulong *)param_2[1]);\n      }" (if "if") (parenthesized_expression "(puVar1 != (ulong *)param_2[1])" (( "(") (binary_expression "puVar1 != (ulong *)param_2[1]" (identifier "puVar1") (!= "!=") (cast_expression "(ulong *)param_2[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n        free((ulong *)param_2[1]);\n      }" ({ "{") (expression_statement "free((ulong *)param_2[1]);" (call_expression "free((ulong *)param_2[1])" (identifier "free") (argument_list "((ulong *)param_2[1])" (( "(") (cast_expression "(ulong *)param_2[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) () ")"))) (; ";")) (} "}"))) (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" (identifier "piVar9") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*piVar9 = 0x16;" (assignment_expression "*piVar9 = 0x16" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (number_literal "0x16")) (; ";")) (return_statement "return 0xffffffff;" (return "return") (number_literal "0xffffffff") (; ";")) (} "}"))))) (labeled_statement "LAB_00110e6f:\n    local_70 = uVar10;" (statement_identifier "LAB_00110e6f") (: ":") (expression_statement "local_70 = uVar10;" (assignment_expression "local_70 = uVar10" (identifier "local_70") (= "=") (identifier "uVar10")) (; ";"))) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" (identifier "uVar14") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    } while( true );" (do "do") (compound_statement "{\n      bVar6 = *param_1;\n      if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }\n      param_1 = param_1 + 1;\n    }" ({ "{") (expression_statement "bVar6 = *param_1;" (assignment_expression "bVar6 = *param_1" (identifier "bVar6") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (if_statement "if (bVar6 == 0x68) {\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }\n      else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" (if "if") (parenthesized_expression "(bVar6 == 0x68)" (( "(") (binary_expression "bVar6 == 0x68" (identifier "bVar6") (== "==") (number_literal "0x68")) () ")")) (compound_statement "{\n        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);\n      }" ({ "{") (expression_statement "uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);" (assignment_expression "uVar14 = uVar14 | 1 << ((byte)uVar14 & 1)" (identifier "uVar14") (= "=") (binary_expression "uVar14 | 1 << ((byte)uVar14 & 1)" (identifier "uVar14") (| "|") (binary_expression "1 << ((byte)uVar14 & 1)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)uVar14 & 1)" (( "(") (binary_expression "(byte)uVar14 & 1" (cast_expression "(byte)uVar14" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar14")) (& "&") (number_literal "1")) () ")"))))) (; ";")) (} "}")) (else_clause "else if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" (else "else") (if_statement "if (bVar6 == 0x4c) {\n        uVar14 = uVar14 | 4;\n      }\n      else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" (if "if") (parenthesized_expression "(bVar6 == 0x4c)" (( "(") (binary_expression "bVar6 == 0x4c" (identifier "bVar6") (== "==") (number_literal "0x4c")) () ")")) (compound_statement "{\n        uVar14 = uVar14 | 4;\n      }" ({ "{") (expression_statement "uVar14 = uVar14 | 4;" (assignment_expression "uVar14 = uVar14 | 4" (identifier "uVar14") (= "=") (binary_expression "uVar14 | 4" (identifier "uVar14") (| "|") (number_literal "4"))) (; ";")) (} "}")) (else_clause "else if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" (else "else") (if_statement "if (bVar6 == 0x6c) {\n        uVar14 = uVar14 + 8;\n      }\n      else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" (if "if") (parenthesized_expression "(bVar6 == 0x6c)" (( "(") (binary_expression "bVar6 == 0x6c" (identifier "bVar6") (== "==") (number_literal "0x6c")) () ")")) (compound_statement "{\n        uVar14 = uVar14 + 8;\n      }" ({ "{") (expression_statement "uVar14 = uVar14 + 8;" (assignment_expression "uVar14 = uVar14 + 8" (identifier "uVar14") (= "=") (binary_expression "uVar14 + 8" (identifier "uVar14") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" (else "else") (if_statement "if (bVar6 == 0x6a) {\n        uVar14 = uVar14 + 8;\n      }\n      else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" (if "if") (parenthesized_expression "(bVar6 == 0x6a)" (( "(") (binary_expression "bVar6 == 0x6a" (identifier "bVar6") (== "==") (number_literal "0x6a")) () ")")) (compound_statement "{\n        uVar14 = uVar14 + 8;\n      }" ({ "{") (expression_statement "uVar14 = uVar14 + 8;" (assignment_expression "uVar14 = uVar14 + 8" (identifier "uVar14") (= "=") (binary_expression "uVar14 + 8" (identifier "uVar14") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" (else "else") (if_statement "if ((bVar6 & 0xdf) == 0x5a) {\n        uVar14 = uVar14 + 8;\n      }\n      else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" (if "if") (parenthesized_expression "((bVar6 & 0xdf) == 0x5a)" (( "(") (binary_expression "(bVar6 & 0xdf) == 0x5a" (parenthesized_expression "(bVar6 & 0xdf)" (( "(") (binary_expression "bVar6 & 0xdf" (identifier "bVar6") (& "&") (number_literal "0xdf")) () ")")) (== "==") (number_literal "0x5a")) () ")")) (compound_statement "{\n        uVar14 = uVar14 + 8;\n      }" ({ "{") (expression_statement "uVar14 = uVar14 + 8;" (assignment_expression "uVar14 = uVar14 + 8" (identifier "uVar14") (= "=") (binary_expression "uVar14 + 8" (identifier "uVar14") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" (else "else") (compound_statement "{\n        if (bVar6 != 0x74) goto LAB_0011139e;\n        uVar14 = uVar14 + 8;\n      }" ({ "{") (if_statement "if (bVar6 != 0x74) goto LAB_0011139e;" (if "if") (parenthesized_expression "(bVar6 != 0x74)" (( "(") (binary_expression "bVar6 != 0x74" (identifier "bVar6") (!= "!=") (number_literal "0x74")) () ")")) (goto_statement "goto LAB_0011139e;" (goto "goto") (statement_identifier "LAB_0011139e") (; ";"))) (expression_statement "uVar14 = uVar14 + 8;" (assignment_expression "uVar14 = uVar14 + 8" (identifier "uVar14") (= "=") (binary_expression "uVar14 + 8" (identifier "uVar14") (+ "+") (number_literal "8"))) (; ";")) (} "}")))))))))))) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" (identifier "param_1") (= "=") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (if_statement "if (((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))\n     && (local_90 < 0x800000000000000)) {\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))\n     && (local_90 < 0x800000000000000))" (( "(") (binary_expression "((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))\n     && (local_90 < 0x800000000000000)" (parenthesized_expression "((-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))" (( "(") (binary_expression "(-1 < (long)local_90) &&\n      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90)))" (parenthesized_expression "(-1 < (long)local_90)" (( "(") (binary_expression "-1 < (long)local_90" (number_literal "-1") (< "<") (cast_expression "(long)local_90" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_90"))) () ")")) (&& "&&") (parenthesized_expression "((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90)))" (( "(") (parenthesized_expression "(local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))" (( "(") (comma_expression "local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90)" (assignment_expression "local_90 = local_90 * 2" (identifier "local_90") (= "=") (binary_expression "local_90 * 2" (identifier "local_90") (* "*") (number_literal "2"))) (, ",") (binary_expression "uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90)" (binary_expression "uVar13 < local_90" (identifier "uVar13") (< "<") (identifier "local_90")) (|| "||") (parenthesized_expression "(local_90 = uVar13 + 1, uVar13 <= local_90)" (( "(") (comma_expression "local_90 = uVar13 + 1, uVar13 <= local_90" (assignment_expression "local_90 = uVar13 + 1" (identifier "local_90") (= "=") (binary_expression "uVar13 + 1" (identifier "uVar13") (+ "+") (number_literal "1"))) (, ",") (binary_expression "uVar13 <= local_90" (identifier "uVar13") (<= "<=") (identifier "local_90"))) () ")")))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(local_90 < 0x800000000000000)" (( "(") (binary_expression "local_90 < 0x800000000000000" (identifier "local_90") (< "<") (number_literal "0x800000000000000")) () ")"))) () ")")) (compound_statement "{\n    if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }\n  }" ({ "{") (if_statement "if (puVar2 == (ulong *)param_3[1]) {\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }\n    else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }" (if "if") (parenthesized_expression "(puVar2 == (ulong *)param_3[1])" (( "(") (binary_expression "puVar2 == (ulong *)param_3[1]" (identifier "puVar2") (== "==") (cast_expression "(ulong *)param_3[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n      local_78 = malloc(local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }\n    }" ({ "{") (expression_statement "local_78 = malloc(local_90 << 5);" (assignment_expression "local_78 = malloc(local_90 << 5)" (identifier "local_78") (= "=") (call_expression "malloc(local_90 << 5)" (identifier "malloc") (argument_list "(local_90 << 5)" (( "(") (binary_expression "local_90 << 5" (identifier "local_90") (<< "<<") (number_literal "5")) () ")")))) (; ";")) (if_statement "if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }" (if "if") (parenthesized_expression "(local_78 != (void *)0x0)" (( "(") (binary_expression "local_78 != (void *)0x0" (identifier "local_78") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        puVar15 = (ulong *)param_3[1];\nLAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);\n        goto LAB_00111184;\n      }" ({ "{") (expression_statement "puVar15 = (ulong *)param_3[1];" (assignment_expression "puVar15 = (ulong *)param_3[1]" (identifier "puVar15") (= "=") (cast_expression "(ulong *)param_3[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")))) (; ";")) (labeled_statement "LAB_001112dd:\n        memcpy(local_78,puVar15,*param_3 << 5);" (statement_identifier "LAB_001112dd") (: ":") (expression_statement "memcpy(local_78,puVar15,*param_3 << 5);" (call_expression "memcpy(local_78,puVar15,*param_3 << 5)" (identifier "memcpy") (argument_list "(local_78,puVar15,*param_3 << 5)" (( "(") (identifier "local_78") (, ",") (identifier "puVar15") (, ",") (binary_expression "*param_3 << 5" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (<< "<<") (number_literal "5")) () ")"))) (; ";"))) (goto_statement "goto LAB_00111184;" (goto "goto") (statement_identifier "LAB_00111184") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }" (else "else") (compound_statement "{\n      local_78 = realloc((ulong *)param_3[1],local_90 << 5);\n      if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }\n    }" ({ "{") (expression_statement "local_78 = realloc((ulong *)param_3[1],local_90 << 5);" (assignment_expression "local_78 = realloc((ulong *)param_3[1],local_90 << 5)" (identifier "local_78") (= "=") (call_expression "realloc((ulong *)param_3[1],local_90 << 5)" (identifier "realloc") (argument_list "((ulong *)param_3[1],local_90 << 5)" (( "(") (cast_expression "(ulong *)param_3[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]"))) (, ",") (binary_expression "local_90 << 5" (identifier "local_90") (<< "<<") (number_literal "5")) () ")")))) (; ";")) (if_statement "if (local_78 != (void *)0x0) {\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }" (if "if") (parenthesized_expression "(local_78 != (void *)0x0)" (( "(") (binary_expression "local_78 != (void *)0x0" (identifier "local_78") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        puVar15 = (ulong *)param_3[1];\n        if (puVar2 == puVar15) goto LAB_001112dd;\nLAB_00111184:\n        param_3[1] = (ulong)local_78;\n        goto LAB_0011118d;\n      }" ({ "{") (expression_statement "puVar15 = (ulong *)param_3[1];" (assignment_expression "puVar15 = (ulong *)param_3[1]" (identifier "puVar15") (= "=") (cast_expression "(ulong *)param_3[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (puVar2 == puVar15) goto LAB_001112dd;" (if "if") (parenthesized_expression "(puVar2 == puVar15)" (( "(") (binary_expression "puVar2 == puVar15" (identifier "puVar2") (== "==") (identifier "puVar15")) () ")")) (goto_statement "goto LAB_001112dd;" (goto "goto") (statement_identifier "LAB_001112dd") (; ";"))) (labeled_statement "LAB_00111184:\n        param_3[1] = (ulong)local_78;" (statement_identifier "LAB_00111184") (: ":") (expression_statement "param_3[1] = (ulong)local_78;" (assignment_expression "param_3[1] = (ulong)local_78" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(ulong)local_78" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_78"))) (; ";"))) (goto_statement "goto LAB_0011118d;" (goto "goto") (statement_identifier "LAB_0011118d") (; ";")) (} "}"))) (} "}")))) (} "}"))) (labeled_statement "LAB_00111292:\n  puVar15 = (ulong *)param_3[1];" (statement_identifier "LAB_00111292") (: ":") (expression_statement "puVar15 = (ulong *)param_3[1];" (assignment_expression "puVar15 = (ulong *)param_3[1]" (identifier "puVar15") (= "=") (cast_expression "(ulong *)param_3[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")))) (; ";"))) (if_statement "if (puVar2 != puVar15) {\nLAB_0011129d:\n    free(puVar15);\n  }" (if "if") (parenthesized_expression "(puVar2 != puVar15)" (( "(") (binary_expression "puVar2 != puVar15" (identifier "puVar2") (!= "!=") (identifier "puVar15")) () ")")) (compound_statement "{\nLAB_0011129d:\n    free(puVar15);\n  }" ({ "{") (labeled_statement "LAB_0011129d:\n    free(puVar15);" (statement_identifier "LAB_0011129d") (: ":") (expression_statement "free(puVar15);" (call_expression "free(puVar15)" (identifier "free") (argument_list "(puVar15)" (( "(") (identifier "puVar15") () ")"))) (; ";"))) (} "}"))) (labeled_statement "LAB_001112a2:\n  if (puVar1 != (ulong *)param_2[1]) {\n    free((ulong *)param_2[1]);\n  }" (statement_identifier "LAB_001112a2") (: ":") (if_statement "if (puVar1 != (ulong *)param_2[1]) {\n    free((ulong *)param_2[1]);\n  }" (if "if") (parenthesized_expression "(puVar1 != (ulong *)param_2[1])" (( "(") (binary_expression "puVar1 != (ulong *)param_2[1]" (identifier "puVar1") (!= "!=") (cast_expression "(ulong *)param_2[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n    free((ulong *)param_2[1]);\n  }" ({ "{") (expression_statement "free((ulong *)param_2[1]);" (call_expression "free((ulong *)param_2[1])" (identifier "free") (argument_list "((ulong *)param_2[1])" (( "(") (cast_expression "(ulong *)param_2[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_001112b2:\n  piVar9 = __errno_location();" (statement_identifier "LAB_001112b2") (: ":") (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" (identifier "piVar9") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";"))) (expression_statement "*piVar9 = 0xc;" (assignment_expression "*piVar9 = 0xc" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (number_literal "0xc")) (; ";")) (return_statement "return 0xffffffff;" (return "return") (number_literal "0xffffffff") (; ";")) (} "}")))

type_1 function_1(char *format,type_2 *d,type_3 *a)

{
  type_4 *var_32;
  type_5 *var_18;
  type_6 var_3;
  type_7 var_30;
  type_6 var_2;
  type_7 var_15;
  type_6 *var_1;
  type_6 *var_9;
  type_4 *var_34;
  int *piVar9;
  type_8 var_10;
  type_6 *var_13;
  type_8 var_5;
  type_9 var_23;
  type_4 *var_33;
  type_5 *var_35;
  size_t var_7;
  type_8 var_4;
  bool bVar18;
  type_8 var_14;
  type_8 var_8;
  type_5 *var_21;
  type_8 var_12;
  type_8 var_31;
  size_t var_11;
  type_8 local_50;
  type_5 *var_36;
  type_5 *var_37;
  
  d->count = 0;
  var_32 = d->direct_alloc_dir;
  d->dir = var_32;
  a->count = 0;
  var_18 = a->direct_alloc_arg;
  a->arg = var_18;
  var_12 = 0;
  var_8 = 0;
  var_14 = 7;
  var_31 = 7;
  var_11 = 0;
  local_50 = 0xffffffffffffffff;
LAB_00110cf5:
  do {
    var_1 = (type_6 *)format;
    if (*var_1 == 0) {
      d->dir[d->count].dir_start = (char *)var_1;
      d->max_width_length = var_8;
      d->max_precision_length = var_12;
      return L'\0';
    }
    format = (char *)(var_1 + 1);
  } while (*var_1 != 0x25);
  var_33 = d->dir + d->count;
  var_33->dir_start = (char *)var_1;
  var_33->flags = L'\0';
  var_33->width_start = (char *)0x0;
  var_33->width_end = (char *)0x0;
  var_33->width_arg_index = 0xffffffffffffffff;
  var_33->precision_start = (char *)0x0;
  var_33->precision_end = (char *)0x0;
  var_33->precision_arg_index = 0xffffffffffffffff;
  var_33->arg_index = 0xffffffffffffffff;
  var_2 = var_1[1];
  var_7 = 0xffffffffffffffff;
  var_1 = (type_6 *)format;
  if ((type_6)(var_2 - 0x30) < 10) {
    do {
      var_3 = var_1[1];
      var_1 = var_1 + 1;
    } while ((type_6)(var_3 - 0x30) < 10);
    var_7 = 0xffffffffffffffff;
    if (var_3 == 0x24) {
      var_4 = 0;
      do {
        var_5 = local_50;
        if (var_4 < 0x199999999999999a) {
          var_5 = var_4 * 10;
        }
        var_4 = (long)((char)var_2 + -0x30) + var_5;
        if (var_6((long)((char)var_2 + -0x30),var_5)) {
          var_2 = ((type_6 *)format)[1];
          var_4 = local_50;
          if (9 < (type_6)(var_2 - 0x30)) goto switchD_001113be_caseD_26;
        }
        else {
          var_2 = ((type_6 *)format)[1];
          if (9 < (type_6)(var_2 - 0x30)) goto LAB_00110dec;
        }
        format = (char *)((type_6 *)format + 1);
      } while( true );
    }
  }
  goto LAB_00110e08;
LAB_00110dec:
  var_7 = var_4 - 1;
  if (var_7 < 0xfffffffffffffffe) {
    format = (char *)((type_6 *)format + 2);
LAB_00110e08:
    do {
      var_2 = *format;
      if (var_2 == 0x27) {
        var_33->flags = var_33->flags | 1;
      }
      else if (var_2 == 0x2d) {
        var_33->flags = var_33->flags | 2;
      }
      else if (var_2 == 0x2b) {
        var_33->flags = var_33->flags | 4;
      }
      else if (var_2 == 0x20) {
        var_33->flags = var_33->flags | 8;
      }
      else if (var_2 == 0x23) {
        var_33->flags = var_33->flags | 0x10;
      }
      else if (var_2 == 0x30) {
        var_33->flags = var_33->flags | 0x20;
      }
      else {
        if (var_2 != 0x49) goto LAB_00110e55;
        var_33->flags = var_33->flags | 0x40;
      }
      format = (char *)((type_6 *)format + 1);
    } while( true );
  }
  goto switchD_001113be_caseD_26;
LAB_00110e55:
  if (var_2 == 0x2a) {
    var_33->width_start = format;
    var_1 = (type_6 *)format + 1;
    var_33->width_end = (char *)var_1;
    var_4 = 1;
    if (var_8 != 0) {
      var_4 = var_8;
    }
    var_2 = ((type_6 *)format)[1];
    var_9 = var_1;
    if ((type_6)(var_2 - 0x30) < 10) {
      do {
        var_3 = var_9[1];
        var_9 = var_9 + 1;
      } while ((type_6)(var_3 - 0x30) < 10);
      if (var_3 == 0x24) {
        var_5 = 0;
        do {
          var_10 = local_50;
          if (var_5 < 0x199999999999999a) {
            var_10 = var_5 * 10;
          }
          var_5 = (long)((char)var_2 + -0x30) + var_10;
          if (var_6((long)((char)var_2 + -0x30),var_10)) {
            var_2 = var_1[1];
            var_5 = local_50;
            if (9 < (type_6)(var_2 - 0x30)) goto switchD_001113be_caseD_26;
          }
          else {
            var_2 = var_1[1];
            if (9 < (type_6)(var_2 - 0x30)) goto LAB_00111003;
          }
          var_1 = var_1 + 1;
        } while( true );
      }
    }
    if (var_33->width_arg_index == 0xffffffffffffffff) {
      var_33->width_arg_index = var_11;
      bVar18 = var_11 == 0xffffffffffffffff;
      var_11 = var_11 + 1;
      if (bVar18) goto switchD_001113be_caseD_26;
    }
    goto LAB_00110ebb;
  }
  var_1 = (type_6 *)format;
  var_4 = var_8;
  if ((type_6)(var_2 - 0x30) < 10) {
    var_33->width_start = format;
    var_2 = *format;
    while ((type_6)(var_2 - 0x30) < 10) {
      var_1 = var_1 + 1;
      var_2 = *var_1;
    }
    var_33->width_end = (char *)var_1;
    var_4 = (long)var_1 - (long)format;
    if ((type_8)((long)var_1 - (long)format) <= var_8) {
      var_4 = var_8;
    }
  }
LAB_00110e66:
  var_8 = var_4;
  var_9 = var_1;
  var_4 = var_12;
  if (*var_1 != 0x2e) goto LAB_00110e6f;
  if (var_1[1] != 0x2a) {
    var_9 = var_1 + 1;
    var_33->precision_start = (char *)var_1;
    var_2 = var_1[1];
    while ((type_6)(var_2 - 0x30) < 10) {
      var_9 = var_9 + 1;
      var_2 = *var_9;
    }
    var_33->precision_end = (char *)var_9;
    var_4 = (long)var_9 - (long)var_1;
    if ((type_8)((long)var_9 - (long)var_1) <= var_12) {
      var_4 = var_12;
    }
    goto LAB_00110e6f;
  }
  var_33->precision_start = (char *)var_1;
  var_9 = var_1 + 2;
  var_33->precision_end = (char *)var_9;
  var_4 = 2;
  if (1 < var_12) {
    var_4 = var_12;
  }
  var_2 = var_1[2];
  var_13 = var_9;
  if ((type_6)(var_2 - 0x30) < 10) {
    do {
      var_3 = var_13[1];
      var_13 = var_13 + 1;
    } while ((type_6)(var_3 - 0x30) < 10);
    if (var_3 == 0x24) {
      var_1 = var_1 + 2;
      var_5 = 0;
      do {
        var_10 = local_50;
        if (var_5 < 0x199999999999999a) {
          var_10 = var_5 * 10;
        }
        var_5 = (long)((char)var_2 + -0x30) + var_10;
        if (var_6((long)((char)var_2 + -0x30),var_10)) {
          var_2 = var_1[1];
          var_5 = local_50;
          if (9 < (type_6)(var_2 - 0x30)) goto switchD_001113be_caseD_26;
        }
        else {
          var_2 = var_1[1];
          if (9 < (type_6)(var_2 - 0x30)) goto LAB_00111244;
        }
        var_1 = var_1 + 1;
      } while( true );
    }
  }
  if (var_33->precision_arg_index == 0xffffffffffffffff) {
    var_33->precision_arg_index = var_11;
    bVar18 = var_11 == 0xffffffffffffffff;
    var_11 = var_11 + 1;
    if (bVar18) goto switchD_001113be_caseD_26;
  }
  goto LAB_0011110c;
LAB_00111003:
  var_5 = var_5 - 1;
  if (0xfffffffffffffffd < var_5) goto switchD_001113be_caseD_26;
  var_33->width_arg_index = var_5;
  var_1 = var_1 + 2;
LAB_00110ebb:
  var_5 = var_33->width_arg_index;
  if (var_5 < var_14) {
LAB_00110f4e:
    var_10 = a->count;
    while (var_10 <= var_5) {
      a->count = var_10 + 1;
      a->arg[var_10].type = var_16;
      var_10 = a->count;
    }
    var_15 = a->arg[var_5].type;
    if (var_15 == var_16) {
      a->arg[var_5].type = var_17;
    }
    else if (var_15 != var_17) goto switchD_001113be_caseD_26;
    goto LAB_00110e66;
  }
  if ((-1 < (long)var_14) &&
     (((var_14 = var_14 * 2, var_5 < var_14 || (var_14 = var_5 + 1, var_5 <= var_14))
      && (var_14 < 0x800000000000000)))) {
    if (var_18 == a->arg) {
      var_21 = (type_5 *)var_19(var_14 << 5);
    }
    else {
      var_21 = (type_5 *)var_20(a->arg,var_14 << 5);
    }
    if (var_21 != (type_5 *)0x0) {
      if (var_18 == a->arg) {
        var_22(var_21,a->arg,a->count << 5);
      }
      a->arg = var_21;
      goto LAB_00110f4e;
    }
  }
  goto LAB_00111292;
LAB_0011139e:
  format = (char *)(var_9 + 1);
  switch(var_2) {
  case 0x25:
    goto switchD_001113be_caseD_25;
  default:
    goto switchD_001113be_caseD_26;
  case 0x41:
  case 0x45:
  case 0x46:
  case 0x47:
  case 0x61:
  case 0x65:
  case 0x66:
  case 0x67:
    var_15 = TYPE_LONGDOUBLE;
    if ((int)var_23 < 0x10) {
      var_15 = ((var_23 & 4) != 0) + var_24;
    }
    break;
  case 0x43:
    var_15 = TYPE_WIDE_CHAR;
    var_2 = 99;
    break;
  case 0x53:
    var_15 = TYPE_WIDE_STRING;
    var_2 = 0x73;
    break;
  case 0x58:
  case 0x6f:
  case 0x75:
  case 0x78:
    var_15 = TYPE_ULONGLONGINT;
    if ((((int)var_23 < 0x10) && ((var_23 & 4) == 0)) &&
       ((var_15 = TYPE_ULONGINT, (int)var_23 < 8 && (var_15 = TYPE_UCHAR, (var_23 & 2) == 0)))) {
      var_15 = (-(type_9)((var_23 & 1) == 0) & 2) + var_25;
    }
    break;
  case 99:
    var_15 = (7 < (int)var_23) + var_26;
    break;
  case 100:
  case 0x69:
    var_15 = TYPE_LONGLONGINT;
    if (((((int)var_23 < 0x10) && ((var_23 & 4) == 0)) && (var_15 = TYPE_LONGINT, (int)var_23 < 8))
       && (var_15 = TYPE_SCHAR, (var_23 & 2) == 0)) {
      var_15 = (-(type_9)((var_23 & 1) == 0) & 2) + var_27;
    }
    break;
  case 0x6e:
    var_15 = TYPE_COUNT_LONGLONGINT_POINTER;
    if ((((int)var_23 < 0x10) && ((var_23 & 4) == 0)) &&
       ((var_15 = TYPE_COUNT_LONGINT_POINTER, (int)var_23 < 8 &&
        (var_15 = TYPE_COUNT_SCHAR_POINTER, (var_23 & 2) == 0)))) {
      var_15 = (var_23 & 1 ^ 1) + var_28;
    }
    break;
  case 0x70:
    var_15 = TYPE_POINTER;
    break;
  case 0x73:
    var_15 = (7 < (int)var_23) + var_29;
  }
  if (var_7 == 0xffffffffffffffff) {
    var_33->arg_index = var_11;
    bVar18 = var_11 == 0xffffffffffffffff;
    var_11 = var_11 + 1;
    if (bVar18) goto switchD_001113be_caseD_26;
  }
  else {
    var_33->arg_index = var_7;
  }
  var_4 = var_33->arg_index;
  if (var_4 < var_14) {
LAB_001115b1:
    var_5 = a->count;
    while (var_5 <= var_4) {
      a->count = var_5 + 1;
      a->arg[var_5].type = var_16;
      var_5 = a->count;
    }
    var_30 = a->arg[var_4].type;
    if (var_30 == var_16) {
      a->arg[var_4].type = var_15;
    }
    else if (var_30 != var_15) goto switchD_001113be_caseD_26;
switchD_001113be_caseD_25:
    var_33->conversion = var_2;
    var_33->dir_end = format;
    var_4 = d->count + 1;
    d->count = var_4;
    if (var_4 < var_31) goto LAB_00110cf5;
    if (((long)var_31 < 0) || (0x2e8ba2e8ba2e8ba < var_31 * 2)) goto LAB_00111292;
    var_33 = d->dir;
    if (var_32 != var_33) {
      var_34 = (type_4 *)var_20(var_33,var_31 * 0xb0);
      if (var_34 == (type_4 *)0x0) goto LAB_00111292;
      var_33 = d->dir;
      if (var_32 != var_33) goto LAB_0011166e;
LAB_00111732:
      var_22(var_34,var_33,d->count * 0x58);
LAB_0011166e:
      d->dir = var_34;
      var_31 = var_31 * 2;
      goto LAB_00110cf5;
    }
    var_34 = (type_4 *)var_19(var_31 * 0xb0);
    if (var_34 != (type_4 *)0x0) goto LAB_00111732;
    var_35 = a->arg;
    if (var_18 == var_35) goto LAB_001112b2;
    goto LAB_0011129d;
  }
  if ((((long)var_14 < 0) ||
      ((var_14 = var_14 * 2, var_14 <= var_4 && (var_14 = var_4 + 1, var_14 < var_4))))
     || (0x7ffffffffffffff < var_14)) goto LAB_00111292;
  var_36 = a->arg;
  if (var_18 != var_36) {
    var_37 = (type_5 *)var_20(var_36,var_14 << 5);
    if (var_37 != (type_5 *)0x0) {
      var_36 = a->arg;
      if (var_18 == var_36) goto LAB_001116c7;
      goto LAB_001115a8;
    }
    goto LAB_00111292;
  }
  var_37 = (type_5 *)var_19(var_14 << 5);
  if (var_37 != (type_5 *)0x0) {
LAB_001116c7:
    var_22(var_37,var_36,a->count << 5);
LAB_001115a8:
    a->arg = var_37;
    goto LAB_001115b1;
  }
  goto LAB_001112a2;
LAB_00111244:
  var_5 = var_5 - 1;
  if (0xfffffffffffffffd < var_5) goto switchD_001113be_caseD_26;
  var_33->precision_arg_index = var_5;
  var_9 = var_1 + 2;
LAB_0011110c:
  var_5 = var_33->precision_arg_index;
  if (var_5 < var_14) {
LAB_0011118d:
    var_10 = a->count;
    while (var_10 <= var_5) {
      a->count = var_10 + 1;
      a->arg[var_10].type = var_16;
      var_10 = a->count;
    }
    var_15 = a->arg[var_5].type;
    if (var_15 == var_16) {
      a->arg[var_5].type = var_17;
    }
    else if (var_15 != var_17) {
switchD_001113be_caseD_26:
      if (var_18 != a->arg) {
        var_38(a->arg);
      }
      if (var_32 != d->dir) {
        var_38(d->dir);
      }
      piVar9 = var_39();
      *piVar9 = 0x16;
      return L'\xffffffff';
    }
LAB_00110e6f:
    var_12 = var_4;
    var_23 = 0;
    do {
      var_2 = *var_9;
      if (var_2 == 0x68) {
        var_23 = var_23 | 1 << ((type_6)var_23 & 1);
      }
      else if (var_2 == 0x4c) {
        var_23 = var_23 | 4;
      }
      else if (var_2 == 0x6c) {
        var_23 = var_23 + 8;
      }
      else if (var_2 == 0x6a) {
        var_23 = var_23 + 8;
      }
      else if ((var_2 & 0xdf) == 0x5a) {
        var_23 = var_23 + 8;
      }
      else {
        if (var_2 != 0x74) goto LAB_0011139e;
        var_23 = var_23 + 8;
      }
      var_9 = var_9 + 1;
    } while( true );
  }
  if (((-1 < (long)var_14) &&
      ((var_14 = var_14 * 2, var_5 < var_14 || (var_14 = var_5 + 1, var_5 <= var_14))))
     && (var_14 < 0x800000000000000)) {
    if (var_18 == a->arg) {
      var_21 = (type_5 *)var_19(var_14 << 5);
      if (var_21 != (type_5 *)0x0) {
        var_35 = a->arg;
LAB_001112dd:
        var_22(var_21,var_35,a->count << 5);
        goto LAB_00111184;
      }
    }
    else {
      var_21 = (type_5 *)var_20(a->arg,var_14 << 5);
      if (var_21 != (type_5 *)0x0) {
        var_35 = a->arg;
        if (var_18 == var_35) goto LAB_001112dd;
LAB_00111184:
        a->arg = var_21;
        goto LAB_0011118d;
      }
    }
  }
LAB_00111292:
  var_35 = a->arg;
  if (var_18 != var_35) {
LAB_0011129d:
    var_38(var_35);
  }
LAB_001112a2:
  if (var_32 != d->dir) {
    var_38(d->dir);
  }
LAB_001112b2:
  piVar9 = var_39();
  *piVar9 = 0xc;
  return L'\xffffffff';
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))))) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (true))))))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (true)))))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (true))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_statement label: (statement_identifier))))) (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (while_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (while_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (true))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_statement label: (statement_identifier))))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (identifier))))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (goto_statement label: (statement_identifier)))))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement value: (number_literal) (goto_statement label: (statement_identifier))) (case_statement (goto_statement label: (statement_identifier))) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (number_literal)))) (break_statement)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (identifier)))))))))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (return_statement (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (true))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (identifier)))))))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (goto_statement label: (statement_identifier))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (return_statement (number_literal)))))

undefined8 MASKED(byte *param_1,ulong *param_2,ulong *param_3)

{
  ulong *puVar1;
  ulong *puVar2;
  undefined8 *puVar3;
  byte bVar4;
  int iVar5;
  byte bVar6;
  int iVar7;
  byte *pbVar8;
  void *__dest;
  int *piVar9;
  ulong uVar10;
  ulong uVar11;
  byte *pbVar12;
  ulong uVar13;
  uint uVar14;
  ulong *puVar15;
  ulong uVar16;
  bool bVar17;
  ulong local_90;
  ulong local_88;
  void *local_78;
  ulong local_70;
  ulong local_68;
  long local_60;
  ulong local_50;
  ulong *local_48;
  void *local_40;
  
  *param_2 = 0;
  puVar1 = param_2 + 4;
  param_2[1] = (ulong)puVar1;
  *param_3 = 0;
  puVar2 = param_3 + 2;
  param_3[1] = (ulong)puVar2;
  local_70 = 0;
  local_88 = 0;
  local_90 = 7;
  local_68 = 7;
  local_60 = 0;
  local_50 = 0xffffffffffffffff;
LAB_00110cf5:
  do {
    pbVar8 = param_1;
    if (*pbVar8 == 0) {
      *(byte **)(*param_2 * 0x58 + param_2[1]) = pbVar8;
      param_2[2] = local_88;
      param_2[3] = local_70;
      return 0;
    }
    param_1 = pbVar8 + 1;
  } while (*pbVar8 != 0x25);
  puVar3 = (undefined8 *)(param_2[1] + *param_2 * 0x58);
  *puVar3 = pbVar8;
  *(undefined4 *)(puVar3 + 2) = 0;
  puVar3[3] = 0;
  puVar3[4] = 0;
  puVar3[5] = 0xffffffffffffffff;
  puVar3[6] = 0;
  puVar3[7] = 0;
  puVar3[8] = 0xffffffffffffffff;
  puVar3[10] = 0xffffffffffffffff;
  bVar6 = pbVar8[1];
  uVar16 = 0xffffffffffffffff;
  pbVar8 = param_1;
  if ((byte)(bVar6 - 0x30) < 10) {
    do {
      bVar4 = pbVar8[1];
      pbVar8 = pbVar8 + 1;
    } while ((byte)(bVar4 - 0x30) < 10);
    uVar16 = 0xffffffffffffffff;
    if (bVar4 == 0x24) {
      uVar16 = 0;
      do {
        uVar10 = local_50;
        if (uVar16 < 0x199999999999999a) {
          uVar10 = uVar16 * 10;
        }
        uVar16 = (long)((char)bVar6 + -0x30) + uVar10;
        if (CARRY8((long)((char)bVar6 + -0x30),uVar10)) {
          bVar6 = param_1[1];
          uVar16 = local_50;
          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;
        }
        else {
          bVar6 = param_1[1];
          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00110dec;
        }
        param_1 = param_1 + 1;
      } while( true );
    }
  }
  goto LAB_00110e08;
LAB_00110dec:
  uVar16 = uVar16 - 1;
  if (uVar16 < 0xfffffffffffffffe) {
    param_1 = param_1 + 2;
LAB_00110e08:
    do {
      bVar6 = *param_1;
      if (bVar6 == 0x27) {
        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 1;
      }
      else if (bVar6 == 0x2d) {
        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 2;
      }
      else if (bVar6 == 0x2b) {
        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 4;
      }
      else if (bVar6 == 0x20) {
        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 8;
      }
      else if (bVar6 == 0x23) {
        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x10;
      }
      else if (bVar6 == 0x30) {
        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x20;
      }
      else {
        if (bVar6 != 0x49) goto LAB_00110e55;
        *(uint *)(puVar3 + 2) = *(uint *)(puVar3 + 2) | 0x40;
      }
      param_1 = param_1 + 1;
    } while( true );
  }
  goto switchD_001113be_caseD_26;
LAB_00110e55:
  if (bVar6 == 0x2a) {
    puVar3[3] = param_1;
    pbVar8 = param_1 + 1;
    puVar3[4] = pbVar8;
    uVar10 = 1;
    if (local_88 != 0) {
      uVar10 = local_88;
    }
    bVar6 = param_1[1];
    pbVar12 = pbVar8;
    if ((byte)(bVar6 - 0x30) < 10) {
      do {
        bVar4 = pbVar12[1];
        pbVar12 = pbVar12 + 1;
      } while ((byte)(bVar4 - 0x30) < 10);
      if (bVar4 == 0x24) {
        uVar13 = 0;
        do {
          uVar11 = local_50;
          if (uVar13 < 0x199999999999999a) {
            uVar11 = uVar13 * 10;
          }
          uVar13 = (long)((char)bVar6 + -0x30) + uVar11;
          if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {
            bVar6 = pbVar8[1];
            uVar13 = local_50;
            if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;
          }
          else {
            bVar6 = pbVar8[1];
            if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111003;
          }
          pbVar8 = pbVar8 + 1;
        } while( true );
      }
    }
    if (puVar3[5] == -1) {
      puVar3[5] = local_60;
      bVar17 = local_60 == -1;
      local_60 = local_60 + 1;
      if (bVar17) goto switchD_001113be_caseD_26;
    }
    goto LAB_00110ebb;
  }
  pbVar8 = param_1;
  uVar10 = local_88;
  if ((byte)(bVar6 - 0x30) < 10) {
    puVar3[3] = param_1;
    bVar6 = *param_1;
    while ((byte)(bVar6 - 0x30) < 10) {
      pbVar8 = pbVar8 + 1;
      bVar6 = *pbVar8;
    }
    puVar3[4] = pbVar8;
    uVar10 = (long)pbVar8 - (long)param_1;
    if ((ulong)((long)pbVar8 - (long)param_1) <= local_88) {
      uVar10 = local_88;
    }
  }
LAB_00110e66:
  local_88 = uVar10;
  param_1 = pbVar8;
  uVar10 = local_70;
  if (*pbVar8 != 0x2e) goto LAB_00110e6f;
  if (pbVar8[1] != 0x2a) {
    param_1 = pbVar8 + 1;
    puVar3[6] = pbVar8;
    bVar6 = pbVar8[1];
    while ((byte)(bVar6 - 0x30) < 10) {
      param_1 = param_1 + 1;
      bVar6 = *param_1;
    }
    puVar3[7] = param_1;
    uVar10 = (long)param_1 - (long)pbVar8;
    if ((ulong)((long)param_1 - (long)pbVar8) <= local_70) {
      uVar10 = local_70;
    }
    goto LAB_00110e6f;
  }
  puVar3[6] = pbVar8;
  param_1 = pbVar8 + 2;
  puVar3[7] = param_1;
  uVar10 = 2;
  if (1 < local_70) {
    uVar10 = local_70;
  }
  bVar6 = pbVar8[2];
  pbVar12 = param_1;
  if ((byte)(bVar6 - 0x30) < 10) {
    do {
      bVar4 = pbVar12[1];
      pbVar12 = pbVar12 + 1;
    } while ((byte)(bVar4 - 0x30) < 10);
    if (bVar4 == 0x24) {
      pbVar8 = pbVar8 + 2;
      uVar13 = 0;
      do {
        uVar11 = local_50;
        if (uVar13 < 0x199999999999999a) {
          uVar11 = uVar13 * 10;
        }
        uVar13 = (long)((char)bVar6 + -0x30) + uVar11;
        if (CARRY8((long)((char)bVar6 + -0x30),uVar11)) {
          bVar6 = pbVar8[1];
          uVar13 = local_50;
          if (9 < (byte)(bVar6 - 0x30)) goto switchD_001113be_caseD_26;
        }
        else {
          bVar6 = pbVar8[1];
          if (9 < (byte)(bVar6 - 0x30)) goto LAB_00111244;
        }
        pbVar8 = pbVar8 + 1;
      } while( true );
    }
  }
  if (puVar3[8] == -1) {
    puVar3[8] = local_60;
    bVar17 = local_60 == -1;
    local_60 = local_60 + 1;
    if (bVar17) goto switchD_001113be_caseD_26;
  }
  goto LAB_0011110c;
LAB_00111003:
  uVar13 = uVar13 - 1;
  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;
  puVar3[5] = uVar13;
  pbVar8 = pbVar8 + 2;
LAB_00110ebb:
  uVar13 = puVar3[5];
  if (uVar13 < local_90) {
LAB_00110f4e:
    uVar11 = *param_3;
    while (uVar11 <= uVar13) {
      *param_3 = uVar11 + 1;
      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;
      uVar11 = *param_3;
    }
    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);
    iVar7 = *piVar9;
    if (iVar7 == 0) {
      *piVar9 = 5;
    }
    else if (iVar7 != 5) goto switchD_001113be_caseD_26;
    goto LAB_00110e66;
  }
  if ((-1 < (long)local_90) &&
     (((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))
      && (local_90 < 0x800000000000000)))) {
    if (puVar2 == (ulong *)param_3[1]) {
      local_78 = malloc(local_90 << 5);
    }
    else {
      local_78 = realloc((ulong *)param_3[1],local_90 << 5);
    }
    if (local_78 != (void *)0x0) {
      if (puVar2 == (ulong *)param_3[1]) {
        memcpy(local_78,(ulong *)param_3[1],*param_3 << 5);
      }
      param_3[1] = (ulong)local_78;
      goto LAB_00110f4e;
    }
  }
  goto LAB_00111292;
LAB_0011139e:
  param_1 = param_1 + 1;
  switch(bVar6) {
  case 0x25:
    goto switchD_001113be_caseD_25;
  default:
    goto switchD_001113be_caseD_26;
  case 0x41:
  case 0x45:
  case 0x46:
  case 0x47:
  case 0x61:
  case 0x65:
  case 0x66:
  case 0x67:
    iVar7 = 0xc;
    if ((int)uVar14 < 0x10) {
      iVar7 = ((uVar14 & 4) != 0) + 0xb;
    }
    break;
  case 0x43:
    iVar7 = 0xe;
    bVar6 = 99;
    break;
  case 0x53:
    iVar7 = 0x10;
    bVar6 = 0x73;
    break;
  case 0x58:
  case 0x6f:
  case 0x75:
  case 0x78:
    iVar7 = 10;
    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&
       ((iVar7 = 8, (int)uVar14 < 8 && (iVar7 = 2, (uVar14 & 2) == 0)))) {
      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 4;
    }
    break;
  case 99:
    iVar7 = (7 < (int)uVar14) + 0xd;
    break;
  case 100:
  case 0x69:
    iVar7 = 9;
    if (((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) && (iVar7 = 7, (int)uVar14 < 8)) &&
       (iVar7 = 1, (uVar14 & 2) == 0)) {
      iVar7 = (-(uint)((uVar14 & 1) == 0) & 2) + 3;
    }
    break;
  case 0x6e:
    iVar7 = 0x16;
    if ((((int)uVar14 < 0x10) && ((uVar14 & 4) == 0)) &&
       ((iVar7 = 0x15, (int)uVar14 < 8 && (iVar7 = 0x12, (uVar14 & 2) == 0)))) {
      iVar7 = (uVar14 & 1 ^ 1) + 0x13;
    }
    break;
  case 0x70:
    iVar7 = 0x11;
    break;
  case 0x73:
    iVar7 = (7 < (int)uVar14) + 0xf;
  }
  if (uVar16 == 0xffffffffffffffff) {
    puVar3[10] = local_60;
    bVar17 = local_60 == -1;
    local_60 = local_60 + 1;
    if (bVar17) goto switchD_001113be_caseD_26;
  }
  else {
    puVar3[10] = uVar16;
  }
  uVar16 = puVar3[10];
  if (uVar16 < local_90) {
LAB_001115b1:
    uVar10 = *param_3;
    while (uVar10 <= uVar16) {
      *param_3 = uVar10 + 1;
      *(undefined4 *)(uVar10 * 0x20 + param_3[1]) = 0;
      uVar10 = *param_3;
    }
    piVar9 = (int *)(uVar16 * 0x20 + param_3[1]);
    iVar5 = *piVar9;
    if (iVar5 == 0) {
      *piVar9 = iVar7;
    }
    else if (iVar5 != iVar7) goto switchD_001113be_caseD_26;
switchD_001113be_caseD_25:
    *(byte *)(puVar3 + 9) = bVar6;
    puVar3[1] = param_1;
    uVar16 = *param_2;
    *param_2 = uVar16 + 1;
    if (uVar16 + 1 < local_68) goto LAB_00110cf5;
    if (((long)local_68 < 0) || (0x2e8ba2e8ba2e8ba < local_68 * 2)) goto LAB_00111292;
    puVar15 = (ulong *)param_2[1];
    if (puVar1 != puVar15) {
      __dest = realloc(puVar15,local_68 * 0xb0);
      if (__dest == (void *)0x0) goto LAB_00111292;
      puVar15 = (ulong *)param_2[1];
      if (puVar1 != puVar15) goto LAB_0011166e;
LAB_00111732:
      memcpy(__dest,puVar15,*param_2 * 0x58);
LAB_0011166e:
      param_2[1] = (ulong)__dest;
      local_68 = local_68 * 2;
      goto LAB_00110cf5;
    }
    __dest = malloc(local_68 * 0xb0);
    if (__dest != (void *)0x0) goto LAB_00111732;
    puVar15 = (ulong *)param_3[1];
    if (puVar2 == puVar15) goto LAB_001112b2;
    goto LAB_0011129d;
  }
  if ((((long)local_90 < 0) ||
      ((local_90 = local_90 * 2, local_90 <= uVar16 && (local_90 = uVar16 + 1, local_90 < uVar16))))
     || (0x7ffffffffffffff < local_90)) goto LAB_00111292;
  local_48 = (ulong *)param_3[1];
  if (puVar2 != local_48) {
    local_40 = realloc(local_48,local_90 << 5);
    if (local_40 != (void *)0x0) {
      local_48 = (ulong *)param_3[1];
      if (puVar2 == local_48) goto LAB_001116c7;
      goto LAB_001115a8;
    }
    goto LAB_00111292;
  }
  local_40 = malloc(local_90 << 5);
  if (local_40 != (void *)0x0) {
LAB_001116c7:
    memcpy(local_40,local_48,*param_3 << 5);
LAB_001115a8:
    param_3[1] = (ulong)local_40;
    goto LAB_001115b1;
  }
  goto LAB_001112a2;
LAB_00111244:
  uVar13 = uVar13 - 1;
  if (0xfffffffffffffffd < uVar13) goto switchD_001113be_caseD_26;
  puVar3[8] = uVar13;
  param_1 = pbVar8 + 2;
LAB_0011110c:
  uVar13 = puVar3[8];
  if (uVar13 < local_90) {
LAB_0011118d:
    uVar11 = *param_3;
    while (uVar11 <= uVar13) {
      *param_3 = uVar11 + 1;
      *(undefined4 *)(uVar11 * 0x20 + param_3[1]) = 0;
      uVar11 = *param_3;
    }
    piVar9 = (int *)(uVar13 * 0x20 + param_3[1]);
    iVar7 = *piVar9;
    if (iVar7 == 0) {
      *piVar9 = 5;
    }
    else if (iVar7 != 5) {
switchD_001113be_caseD_26:
      if (puVar2 != (ulong *)param_3[1]) {
        free((ulong *)param_3[1]);
      }
      if (puVar1 != (ulong *)param_2[1]) {
        free((ulong *)param_2[1]);
      }
      piVar9 = __errno_location();
      *piVar9 = 0x16;
      return 0xffffffff;
    }
LAB_00110e6f:
    local_70 = uVar10;
    uVar14 = 0;
    do {
      bVar6 = *param_1;
      if (bVar6 == 0x68) {
        uVar14 = uVar14 | 1 << ((byte)uVar14 & 1);
      }
      else if (bVar6 == 0x4c) {
        uVar14 = uVar14 | 4;
      }
      else if (bVar6 == 0x6c) {
        uVar14 = uVar14 + 8;
      }
      else if (bVar6 == 0x6a) {
        uVar14 = uVar14 + 8;
      }
      else if ((bVar6 & 0xdf) == 0x5a) {
        uVar14 = uVar14 + 8;
      }
      else {
        if (bVar6 != 0x74) goto LAB_0011139e;
        uVar14 = uVar14 + 8;
      }
      param_1 = param_1 + 1;
    } while( true );
  }
  if (((-1 < (long)local_90) &&
      ((local_90 = local_90 * 2, uVar13 < local_90 || (local_90 = uVar13 + 1, uVar13 <= local_90))))
     && (local_90 < 0x800000000000000)) {
    if (puVar2 == (ulong *)param_3[1]) {
      local_78 = malloc(local_90 << 5);
      if (local_78 != (void *)0x0) {
        puVar15 = (ulong *)param_3[1];
LAB_001112dd:
        memcpy(local_78,puVar15,*param_3 << 5);
        goto LAB_00111184;
      }
    }
    else {
      local_78 = realloc((ulong *)param_3[1],local_90 << 5);
      if (local_78 != (void *)0x0) {
        puVar15 = (ulong *)param_3[1];
        if (puVar2 == puVar15) goto LAB_001112dd;
LAB_00111184:
        param_3[1] = (ulong)local_78;
        goto LAB_0011118d;
      }
    }
  }
LAB_00111292:
  puVar15 = (ulong *)param_3[1];
  if (puVar2 != puVar15) {
LAB_0011129d:
    free(puVar15);
  }
LAB_001112a2:
  if (puVar1 != (ulong *)param_2[1]) {
    free((ulong *)param_2[1]);
  }
LAB_001112b2:
  piVar9 = __errno_location();
  *piVar9 = 0xc;
  return 0xffffffff;
}

