
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original name: layout<32, true>
   DWARF original prototype: Output_section * layout<32,_true>(Layout * this,
   Sized_relobj_file<32,_true> * object, uint shndx, char * name, Shdr<32,_true> * shdr, uint
   sh_type, uint reloc_shndx, uint param_9, off_t * off) */

Output_section * __thiscall
gold::Layout::layout<32,_true>
          (Layout *this,Sized_relobj_file<32,_true> *object,uint shndx,char *name,
          Shdr<32,_true> *shdr,uint sh_type,uint reloc_shndx,uint param_7,off_t *off)

{
  __node_gen_type __node_gen;
  Key name_key;
  
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

int FUN_0011efd0(int param_1,int *param_2,undefined4 param_3,int *param_4,int *param_5,
                undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 *param_9)

{
  uint uVar1;
  undefined4 *puVar2;
  undefined4 uVar3;
  uint uVar4;
  uint uVar5;
  char cVar6;
  undefined4 uVar7;
  int iVar8;
  uint uVar9;
  size_t sVar10;
  byte bVar11;
  int iVar12;
  int *piVar13;
  int *piVar14;
  int **ppiVar15;
  int **ppiVar16;
  int **ppiVar17;
  byte *pbVar18;
  undefined **ppuVar19;
  byte *pbVar20;
  char *pcVar21;
  bool bVar22;
  bool bVar23;
  undefined1 uVar24;
  bool bVar25;
  undefined1 uVar26;
  byte bVar27;
  undefined8 uVar28;
  int unaff_retaddr;
  int *apiStackY_8c [3];
  int *apiStack_60 [8];
  int *local_40 [3];
  undefined1 local_34 [4];
  byte local_30 [28];
  undefined4 uStack_14;
  
  bVar27 = 0;
  uStack_14 = 0x11efd9;
  *param_9 = 0;
  param_9[1] = 0;
  apiStack_60[0] = param_5;
  cVar6 = FUN_00117e80(param_1,param_2,param_4);
  ppiVar16 = apiStack_60 + 1;
  ppiVar15 = apiStack_60 + 1;
  if (cVar6 == '\0') {
    return 0;
  }
  uVar9 = *(uint *)(DAT_004144e8 + 8);
  if (uVar9 == 0) goto LAB_0011f5b8;
  if (*(char *)(uVar9 + 0x318d) == '\0') {
LAB_0011f049:
    piVar13 = &DAT_004144e8;
    if (*(char *)(uVar9 + 0x5871) != '\0') {
      uVar24 = apiStack_60 + 1 < (int **)0x4;
      uVar26 = &stack0x00000000 == (undefined1 *)0x60;
      apiStack_60[2] = &DAT_004144e8;
      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);
      iVar8 = 0xe;
      apiStack_60[2] = (int *)0x2fd3ca;
      pbVar18 = (byte *)".text.unlikely";
      pbVar20 = (byte *)local_40[2];
      do {
        if (iVar8 == 0) break;
        iVar8 = iVar8 + -1;
        uVar24 = *pbVar18 < *pbVar20;
        uVar26 = *pbVar18 == *pbVar20;
        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
      } while ((bool)uVar26);
      ppiVar15 = apiStack_60;
      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {
        if ((byte *)local_40[2] != local_30) {
          FUN_00248220(local_40[2]);
        }
        ppiVar17 = apiStack_60;
        uVar9 = *(uint *)(*param_4 + 8);
        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;
        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;
        uVar4 = uVar1 & 0xfffff50f;
        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {
          uVar4 = uVar1 & 0xfffff58f;
        }
        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);
        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,
                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);
        ppiVar16 = apiStack_60;
        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;
        goto LAB_0011f150;
      }
      piVar13 = apiStack_60[1];
      if ((byte *)local_40[2] != local_30) {
        FUN_00248220(local_40[2]);
        ppiVar15 = apiStack_60;
        piVar13 = apiStack_60[1];
      }
    }
    ppiVar15[1] = piVar13;
    ppiVar15[10] = ppiVar15[0x19];
    ppiVar15[0xb] = ppiVar15[0x1a];
    ppiVar15[-2] = (int *)local_34;
    ppiVar15[-3] = ppiVar15[0x18] + 0x81;
    ppiVar15[-4] = (int *)(ppiVar15 + 7);
    ppiVar15[-5] = (int *)0x11f087;
    FUN_001196a0();
    piVar13 = ppiVar15[6];
    ppiVar17 = ppiVar15 + -1;
    uVar9 = *(uint *)(*ppiVar15[0x1b] + 8);
    uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;
    uVar4 = (uVar9 & 0xff00) << 8;
    if (piVar13 == ppiVar15[0x17] + 0x82) {
      ppiVar15[-3] = (int *)0x1;
      ppiVar15[-4] = (int *)0x0;
      ppiVar15[-5] = (int *)0x0;
      ppiVar15[-6] = (int *)0x0;
      ppiVar15[-7] = (int *)0x1;
      ppiVar15[-8] = (int *)0x0;
      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);
      ppiVar15[-10] = ppiVar15[0x1c];
      ppiVar15[-0xb] = ppiVar15[0x1a];
      ppiVar15[-0xc] = ppiVar15[0x18];
      ppiVar15[-0xd] = ppiVar15[0x17];
      ppiVar15[-0xe] = (int *)0x11f402;
      iVar8 = FUN_00110ae0();
      ppiVar16 = ppiVar15 + -1;
      apiStack_60[1] = *ppiVar15;
      if (iVar8 == 0) {
        return 0;
      }
    }
    else {
      iVar8 = *(int *)(**ppiVar15 + 8);
      if (iVar8 == 0) {
LAB_0011f67b:
                    /* WARNING: Subroutine does not return */
        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;
        FUN_00106b00();
      }
      uVar5 = uVar1 & 0xfffff50f;
      if (*(char *)(iVar8 + 0x318d) != '\0') {
        uVar5 = uVar1 & 0xfffff58f;
      }
      puVar2 = (undefined4 *)piVar13[6];
      *ppiVar15 = *ppiVar15;
      ppiVar15[-2] = (int *)local_34;
      ppiVar15[-3] = (int *)0x1;
      ppiVar15[-4] = (int *)*puVar2;
      ppiVar15[-5] = ppiVar15[0x17] + 2;
      ppiVar15[-6] = (int *)0x11f0ee;
      uVar7 = FUN_001e3f80();
      ppiVar15[-2] = (int *)0x0;
      ppiVar15[-3] = (int *)0x0;
      ppiVar15[-4] = (int *)0x0;
      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);
      ppiVar15[-6] = ppiVar15[0x1c];
      ppiVar15[-7] = ppiVar15[9];
      ppiVar15[-8] = (int *)uVar7;
      ppiVar15[-9] = ppiVar15[0x17];
      ppiVar15[-10] = (int *)0x11f10c;
      iVar8 = FUN_00110850();
      apiStack_60[1] = *ppiVar15;
      ppiVar16 = ppiVar15 + -1;
      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {
        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;
        iVar12 = piVar13[6];
        uVar7 = *(undefined4 *)(iVar12 + 8);
        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);
        uVar3 = *(undefined4 *)(iVar12 + 0xc);
        *(undefined4 *)(iVar8 + 0xa0) = uVar7;
        uVar7 = *(undefined4 *)(iVar12 + 0x10);
        *(undefined4 *)(iVar8 + 0xa4) = uVar3;
        *(undefined4 *)(iVar8 + 0xa8) = uVar7;
        ppiVar16 = ppiVar15 + -1;
      }
    }
  }
  else {
    uVar1 = *(uint *)(*param_5 + 8);
    uVar4 = (uVar1 & 0xff0000) >> 8;
    if ((uVar4 & 0x200) == 0) goto LAB_0011f049;
    apiStack_60[0] = (int *)0x0;
    apiStack_60[2] = &DAT_004144e8;
    uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);
    iVar8 = FUN_0010c350(param_1,uVar7,param_6,
                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,
                         0,0,0);
    ppiVar16 = apiStack_60 + 1;
    apiStack_60[1] = apiStack_60[2];
  }
LAB_0011f150:
  piVar13 = (int *)ppiVar16[0x18][1];
  piVar14 = *(int **)(*apiStack_60[1] + 8);
  ppiVar16[1] = piVar13;
  bVar11 = *(byte *)(piVar13 + 0x2b);
  uVar9 = (uint)bVar11;
  if (bVar11 != 0) {
    if (piVar14 == (int *)0x0) goto LAB_0011f5b8;
    goto LAB_0011f282;
  }
  if (piVar14 == (int *)0x0) {
LAB_0011f5b8:
    ppiVar16[0xffffffff] = (int *)uVar9;
    ppiVar16[0xfffffffe] = (int *)"options";
    ppiVar16[0xfffffffd] = (int *)0x5c;
    ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
    ppiVar16[0xfffffffb] = (int *)0x11f5ce;
    FUN_000da200();
  }
  bVar22 = false;
  bVar25 = *(char *)((int)piVar14 + 0x318d) == '\0';
  if (!bVar25) goto LAB_0011f4a0;
  iVar12 = 7;
  pbVar18 = (byte *)".ctors.";
  pbVar20 = (byte *)ppiVar16[0x1b];
  do {
    if (iVar12 == 0) break;
    iVar12 = iVar12 + -1;
    bVar22 = *pbVar18 < *pbVar20;
    bVar25 = *pbVar18 == *pbVar20;
    pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
    pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
  } while (bVar25);
  bVar23 = false;
  bVar22 = (!bVar22 && !bVar25) == bVar22;
  if (bVar22) {
LAB_0011f238:
    *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;
    bVar11 = *(byte *)(ppiVar16[1] + 0x2b);
    uVar9 = (uint)bVar11;
    if (*(char *)((int)piVar14 + 0x3ced) == '\0') {
LAB_0011f5e9:
      if (bVar11 != 0) goto LAB_0011f282;
      goto LAB_0011f4ad;
    }
    if (bVar11 != 0) goto LAB_0011f282;
LAB_0011f25d:
    cVar6 = *(char *)((int)piVar14 + 0x318d);
    if (*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0') goto LAB_0011f4b4;
    if (cVar6 == '\0') {
      ppiVar16[3] = piVar14;
      ppuVar19 = &PTR_s__text_unlikely_00407080;
      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;
      pcVar21 = ".text.unlikely";
      sVar10 = 0xe;
      while( true ) {
        ppiVar16[0xfffffffe] = (int *)sVar10;
        ppiVar16[0xfffffffd] = ppiVar16[0x1b];
        ppiVar16[0xfffffffc] = (int *)pcVar21;
        ppiVar16[0xfffffffb] = (int *)0x11f62d;
        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],
                         (size_t)ppiVar16[0xfffffffe]);
        if (iVar12 == 0) break;
        ppuVar19 = ppuVar19 + 1;
        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;
        pcVar21 = *ppuVar19;
        ppiVar16[0xfffffffc] = (int *)pcVar21;
        ppiVar16[0xfffffffb] = (int *)0x11f64c;
        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);
      }
      piVar14 = ppiVar16[3];
      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;
      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);
      uVar9 = (uint)bVar11;
      goto LAB_0011f5e9;
    }
  }
  else {
    iVar12 = 7;
    pbVar18 = (byte *)".dtors.";
    pbVar20 = (byte *)ppiVar16[0x1b];
    do {
      if (iVar12 == 0) break;
      iVar12 = iVar12 + -1;
      bVar23 = *pbVar18 < *pbVar20;
      bVar22 = *pbVar18 == *pbVar20;
      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
    } while (bVar22);
    bVar25 = false;
    bVar22 = (!bVar23 && !bVar22) == bVar23;
    if (bVar22) goto LAB_0011f238;
    iVar12 = 0xc;
    pbVar18 = (byte *)".init_array.";
    pbVar20 = (byte *)ppiVar16[0x1b];
    do {
      if (iVar12 == 0) break;
      iVar12 = iVar12 + -1;
      bVar25 = *pbVar18 < *pbVar20;
      bVar22 = *pbVar18 == *pbVar20;
      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
    } while (bVar22);
    bVar23 = false;
    bVar22 = (!bVar25 && !bVar22) == bVar25;
    if (bVar22) goto LAB_0011f238;
    iVar12 = 0xc;
    pbVar18 = (byte *)".fini_array.";
    pbVar20 = (byte *)ppiVar16[0x1b];
    do {
      if (iVar12 == 0) break;
      iVar12 = iVar12 + -1;
      bVar23 = *pbVar18 < *pbVar20;
      bVar22 = *pbVar18 == *pbVar20;
      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
    } while (bVar22);
    if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;
    bVar22 = false;
    bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';
    if (!bVar25) {
      iVar12 = 7;
      pbVar18 = (byte *)ppiVar16[0x1b];
      pbVar20 = (byte *)".ctors";
      do {
        if (iVar12 == 0) break;
        iVar12 = iVar12 + -1;
        bVar22 = *pbVar18 < *pbVar20;
        bVar25 = *pbVar18 == *pbVar20;
        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
      } while (bVar25);
      bVar23 = false;
      bVar22 = (!bVar22 && !bVar25) == bVar22;
      if (!bVar22) {
        iVar12 = 7;
        pbVar18 = (byte *)ppiVar16[0x1b];
        pbVar20 = (byte *)".dtors";
        do {
          if (iVar12 == 0) break;
          iVar12 = iVar12 + -1;
          bVar23 = *pbVar18 < *pbVar20;
          bVar22 = *pbVar18 == *pbVar20;
          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
        } while (bVar22);
        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;
      }
      goto LAB_0011f238;
    }
LAB_0011f4a0:
    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;
LAB_0011f4ad:
    cVar6 = *(char *)((int)piVar14 + 0x318d);
LAB_0011f4b4:
    if (cVar6 == '\0') {
LAB_0011f4bc:
      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);
      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;
      bVar22 = uVar9 < 4;
      bVar25 = uVar9 == 4;
      if (4 < uVar9) {
        iVar12 = 7;
        pbVar18 = (byte *)ppiVar16[0x1b];
        pbVar20 = (byte *)".ctors";
        do {
          if (iVar12 == 0) break;
          iVar12 = iVar12 + -1;
          bVar22 = *pbVar18 < *pbVar20;
          bVar25 = *pbVar18 == *pbVar20;
          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
        } while (bVar25);
        bVar23 = false;
        bVar22 = (!bVar22 && !bVar25) == bVar22;
        if (bVar22) {
LAB_0011f504:
          bVar25 = false;
          iVar12 = 0xc;
          pbVar18 = *(byte **)(iVar8 + 0x20);
          pbVar20 = (byte *)".init_array";
          do {
            if (iVar12 == 0) break;
            iVar12 = iVar12 + -1;
            bVar25 = *pbVar18 < *pbVar20;
            bVar22 = *pbVar18 == *pbVar20;
            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
          } while (bVar22);
          bVar22 = (!bVar25 && !bVar22) == bVar25;
          if (!bVar22) goto LAB_0011f570;
        }
        else {
          iVar12 = 7;
          pbVar18 = (byte *)".ctors.";
          pbVar20 = (byte *)ppiVar16[0x1b];
          do {
            if (iVar12 == 0) break;
            iVar12 = iVar12 + -1;
            bVar23 = *pbVar18 < *pbVar20;
            bVar22 = *pbVar18 == *pbVar20;
            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
          } while (bVar22);
          bVar22 = (!bVar23 && !bVar22) == bVar23;
          if (bVar22) goto LAB_0011f504;
LAB_0011f570:
          bVar25 = false;
          iVar12 = 7;
          pbVar18 = (byte *)ppiVar16[0x1b];
          pbVar20 = (byte *)".dtors";
          do {
            if (iVar12 == 0) break;
            iVar12 = iVar12 + -1;
            bVar25 = *pbVar18 < *pbVar20;
            bVar22 = *pbVar18 == *pbVar20;
            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
          } while (bVar22);
          bVar23 = false;
          bVar22 = (!bVar25 && !bVar22) == bVar25;
          if (!bVar22) {
            iVar12 = 7;
            pbVar18 = (byte *)".dtors.";
            pbVar20 = (byte *)ppiVar16[0x1b];
            do {
              if (iVar12 == 0) break;
              iVar12 = iVar12 + -1;
              bVar23 = *pbVar18 < *pbVar20;
              bVar22 = *pbVar18 == *pbVar20;
              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
            } while (bVar22);
            bVar22 = (!bVar23 && !bVar22) == bVar23;
            if (!bVar22) goto LAB_0011f280;
          }
          bVar25 = false;
          iVar12 = 0xc;
          pbVar18 = *(byte **)(iVar8 + 0x20);
          pbVar20 = (byte *)".fini_array";
          do {
            if (iVar12 == 0) break;
            iVar12 = iVar12 + -1;
            bVar25 = *pbVar18 < *pbVar20;
            bVar22 = *pbVar18 == *pbVar20;
            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
          } while (bVar22);
          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;
        }
        ppiVar16[10] = ppiVar16[0x19];
        ppiVar16[0xb] = ppiVar16[0x1a];
        ppiVar16[9] = &DAT_00414774;
        ppiVar16[0xfffffffd] = (int *)0x1;
        ppiVar16[0xfffffffc] = (int *)0x0;
        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);
        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);
        ppiVar16[0xfffffff9] = &DAT_00414774;
        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);
        ppiVar16[0xfffffff7] = (int *)0x11f553;
        FUN_000a8d90();
        ppiVar15 = ppiVar16 + 0x17;
        ppiVar16 = ppiVar16 + 0xffffffff;
        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);
        goto LAB_0011f282;
      }
    }
  }
LAB_0011f280:
  uVar9 = 0;
LAB_0011f282:
  uVar1 = *(uint *)(iVar8 + 0x54);
  *(uint *)((int)ppiVar16 + -4) = uVar9;
  *(undefined4 *)((int)ppiVar16 + -8) = *(undefined4 *)((int)ppiVar16 + 0x78);
  *(undefined4 *)((int)ppiVar16 + -0xc) = *(undefined4 *)((int)ppiVar16 + 0x70);
  *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x6c);
  *(undefined4 *)((int)ppiVar16 + -0x14) = *(undefined4 *)((int)ppiVar16 + 0x68);
  *(undefined4 *)((int)ppiVar16 + -0x18) = *(undefined4 *)((int)ppiVar16 + 100);
  *(undefined4 *)((int)ppiVar16 + -0x1c) = *(undefined4 *)((int)ppiVar16 + 0x60);
  *(int *)((int)ppiVar16 + -0x20) = iVar8;
  *(undefined4 *)((int)ppiVar16 + -0x24) = 0x11f2a4;
  uVar28 = FUN_00191bd0();
  **(undefined8 **)((int)ppiVar16 + 0x80) = uVar28;
  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0)) {
    *(undefined4 *)((int)ppiVar16 + -8) = 0;
    *(int *)((int)ppiVar16 + -0xc) = iVar8;
    *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60);
    *(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2;
    uVar7 = FUN_00107cf0();
    *(undefined4 *)(iVar8 + 0x5c) = uVar7;
  }
  *(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4) = 1;
  return iVar8;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x0003a210
ADD EBX,0x2f5027
SUB ESP,0x4c
MOV EAX,dword ptr [ESP + 0x80]
MOV dword ptr [EAX],0x0
MOV dword ptr [EAX + 0x4],0x0
PUSH dword ptr [ESP + 0x70]
PUSH dword ptr [ESP + 0x70]
PUSH dword ptr [ESP + 0x6c]
PUSH dword ptr [ESP + 0x6c]
CALL 0x00117e80
ADD ESP,0x10
TEST AL,AL
JZ 0x0011f413
LEA EDX,[EBX + 0x4e8]
MOV EAX,dword ptr [EDX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0011f5b8
CMP byte ptr [EAX + 0x318d],0x0
JZ 0x0011f049
MOV EDI,dword ptr [ESP + 0x70]
MOV ECX,dword ptr [EDI]
MOV ESI,dword ptr [ECX + 0x8]
BSWAP ESI
TEST ESI,0x200
JNZ 0x0011f448
CMP byte ptr [EAX + 0x5871],0x0
LEA EBP,[ESP + 0x28]
JNZ 0x0011f2f0
MOV EAX,dword ptr [ESP + 0x64]
MOV dword ptr [ESP + 0x4],EDX
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,dword ptr [ESP + 0x68]
MOV dword ptr [ESP + 0x2c],EAX
LEA EAX,[ESP + 0x1c]
SUB ESP,0x4
PUSH EBP
MOV EDI,dword ptr [ESP + 0x68]
LEA ECX,[EDI + 0x204]
PUSH ECX
PUSH EAX
CALL 0x001196a0
MOV EAX,dword ptr [ESP + 0x6c]
MOV ESI,dword ptr [ESP + 0x28]
ADD ESP,0xc
MOV EDX,dword ptr [ESP + 0x4]
ADD EAX,0x208
CMP ESI,EAX
MOV EAX,dword ptr [ESP + 0x70]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
BSWAP EAX
JZ 0x0011f3d0
MOV ECX,dword ptr [EDX]
MOV ECX,dword ptr [ECX + 0x8]
TEST ECX,ECX
JZ 0x0011f67b
MOV EDI,EAX
AND EDI,0xfffff50f
CMP byte ptr [ECX + 0x318d],0x0
JZ 0x0011f0d3
AND EAX,0xfffff58f
MOV EDI,EAX
MOV EAX,dword ptr [ESI + 0x18]
MOV dword ptr [ESP + 0x4],EDX
PUSH EBP
XOR EBP,EBP
PUSH 0x1
PUSH dword ptr [EAX]
MOV EAX,dword ptr [ESP + 0x6c]
ADD EAX,0x8
PUSH EAX
CALL 0x001e3f80
ADD ESP,0x10
PUSH 0x0
PUSH 0x0
PUSH EBP
PUSH EDI
PUSH dword ptr [ESP + 0x84]
PUSH dword ptr [ESP + 0x3c]
PUSH EAX
PUSH dword ptr [ESP + 0x7c]
CALL 0x00110850
ADD ESP,0x20
MOV EDX,dword ptr [ESP + 0x4]
MOV EBP,EAX
MOVZX EAX,byte ptr [EAX + 0x92]
TEST AL,AL
JS 0x0011f150
OR EAX,0xffffff80
MOV byte ptr [EBP + 0x92],AL
MOV ECX,dword ptr [ESI + 0x18]
MOV ESI,dword ptr [ECX + 0x4]
MOV EDI,dword ptr [ECX + 0x8]
MOV dword ptr [EBP + 0x9c],ESI
MOV ESI,dword ptr [ECX + 0xc]
MOV dword ptr [EBP + 0xa0],EDI
MOV EDI,dword ptr [ECX + 0x10]
MOV dword ptr [EBP + 0xa4],ESI
MOV dword ptr [EBP + 0xa8],EDI
MOV EAX,dword ptr [ESP + 0x60]
MOV EDX,dword ptr [EDX]
MOV EAX,dword ptr [EAX + 0x4]
MOV EDX,dword ptr [EDX + 0x8]
MOV dword ptr [ESP + 0x4],EAX
MOVZX EAX,byte ptr [EAX + 0xac]
TEST AL,AL
JNZ 0x0011f5b0
TEST EDX,EDX
JZ 0x0011f5b8
CMP byte ptr [EDX + 0x318d],0x0
JNZ 0x0011f4a0
MOV EDI,dword ptr [ESP + 0x6c]
MOV ECX,0x7
LEA ESI,[EBX + 0xffee9456]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0011f238
MOV EDI,dword ptr [ESP + 0x6c]
MOV ECX,0x7
LEA ESI,[EBX + 0xffee945e]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0011f238
MOV EDI,dword ptr [ESP + 0x6c]
MOV ECX,0xc
LEA ESI,[EBX + 0xffeea1c6]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0011f238
MOV EDI,dword ptr [ESP + 0x6c]
MOV ECX,0xc
LEA ESI,[EBX + 0xffeea1d3]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0011f238
CMP byte ptr [EDX + 0xad5],0x0
JZ 0x0011f4a0
MOV ESI,dword ptr [ESP + 0x6c]
MOV ECX,0x7
LEA EDI,[EBX + 0xffee9430]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0011f238
MOV ESI,dword ptr [ESP + 0x6c]
MOV ECX,0x7
LEA EDI,[EBX + 0xffee944f]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x0011f4a0
LEA ESI,[ESI]
OR byte ptr [EBP + 0x91],0x8
MOV EAX,dword ptr [ESP + 0x4]
CMP byte ptr [EDX + 0x3ced],0x0
MOVZX EAX,byte ptr [EAX + 0xac]
MOV ECX,EAX
JZ 0x0011f5e9
TEST AL,AL
JNZ 0x0011f282
MOV EDI,dword ptr [ESP + 0x60]
MOVZX EAX,byte ptr [EDX + 0x318d]
CMP byte ptr [EDI + 0x1cd],0x0
JNZ 0x0011f4b4
TEST AL,AL
JZ 0x0011f600
LEA ESI,[ESI]
XOR EAX,EAX
MOV ESI,dword ptr [EBP + 0x54]
PUSH EAX
PUSH dword ptr [ESP + 0x7c]
PUSH dword ptr [ESP + 0x78]
PUSH dword ptr [ESP + 0x78]
PUSH dword ptr [ESP + 0x78]
PUSH dword ptr [ESP + 0x78]
PUSH dword ptr [ESP + 0x78]
PUSH EBP
CALL 0x00191bd0
MOV EDI,dword ptr [ESP + 0xa0]
ADD ESP,0x20
MOV dword ptr [EDI],EAX
MOV dword ptr [EDI + 0x4],EDX
TEST ESI,0x2
JZ 0x0011f2d8
XOR ESI,dword ptr [EBP + 0x54]
AND ESI,0x5
JZ 0x0011f2d8
SUB ESP,0x4
PUSH 0x0
PUSH EBP
PUSH dword ptr [ESP + 0x6c]
CALL 0x00107cf0
ADD ESP,0x10
MOV dword ptr [EBP + 0x5c],EAX
MOV EAX,dword ptr [ESP + 0x60]
MOV byte ptr [EAX + 0x1c4],0x1
ADD ESP,0x4c
MOV EAX,EBP
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV dword ptr [ESP + 0x4],EDX
LEA EBP,[ESP + 0x28]
SUB ESP,0x4
LEA ESI,[EBX + 0xffee93ca]
MOV EAX,dword ptr [ESP + 0x68]
MOV EAX,dword ptr [EAX]
PUSH dword ptr [ESP + 0x6c]
PUSH dword ptr [ESP + 0x6c]
PUSH EBP
CALL dword ptr [EAX + 0x40]
MOV ECX,0xe
MOV EAX,dword ptr [ESP + 0x34]
MOV dword ptr [ESP + 0x14],ESI
MOV EDI,EAX
CMPSB.REPE ES:EDI,ESI
SETA CL
SBB CL,0x0
ADD ESP,0xc
MOV EDX,dword ptr [ESP + 0x4]
TEST CL,CL
LEA ECX,[ESP + 0x30]
JNZ 0x0011f420
CMP EAX,ECX
JZ 0x0011f351
SUB ESP,0xc
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x4]
MOV EAX,dword ptr [ESP + 0x70]
MOV ECX,dword ptr [EDX]
MOV EAX,dword ptr [EAX]
MOV ECX,dword ptr [ECX + 0x8]
MOV EAX,dword ptr [EAX + 0x8]
BSWAP EAX
TEST ECX,ECX
JZ 0x0011f67b
MOV ESI,EAX
AND ESI,0xfffff50f
CMP byte ptr [ECX + 0x318d],0x0
JZ 0x0011f381
AND EAX,0xfffff58f
MOV ESI,EAX
MOV dword ptr [ESP + 0x4],EDX
XOR EDI,EDI
PUSH EBP
PUSH 0x1
PUSH dword ptr [ESP + 0x10]
MOV EAX,dword ptr [ESP + 0x6c]
ADD EAX,0x8
PUSH EAX
CALL 0x001e3f80
ADD ESP,0x10
PUSH 0x0
PUSH 0x0
PUSH EDI
PUSH ESI
PUSH dword ptr [ESP + 0x84]
PUSH dword ptr [ESP + 0x3c]
PUSH EAX
PUSH dword ptr [ESP + 0x7c]
CALL 0x00110850
ADD ESP,0x20
OR byte ptr [EAX + 0x92],0x80
MOV EBP,EAX
MOV EDX,dword ptr [ESP + 0x4]
JMP 0x0011f150
SUB ESP,0x4
XOR EDI,EDI
PUSH 0x1
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH 0x1
PUSH EDI
PUSH EAX
PUSH dword ptr [ESP + 0x94]
PUSH dword ptr [ESP + 0x90]
PUSH dword ptr [ESP + 0x8c]
PUSH dword ptr [ESP + 0x8c]
CALL 0x00110ae0
ADD ESP,0x30
MOV EDX,dword ptr [ESP + 0x4]
TEST EAX,EAX
MOV EBP,EAX
JNZ 0x0011f150
ADD ESP,0x4c
XOR EBP,EBP
POP EBX
MOV EAX,EBP
POP ESI
POP EDI
POP EBP
RET
CMP EAX,ECX
JZ 0x0011f05a
MOV dword ptr [ESP + 0x4],EDX
SUB ESP,0xc
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x4]
JMP 0x0011f05a
MOV dword ptr [ESP + 0x4],EDX
AND ESI,0xfffff7ff
XOR EDI,EDI
PUSH 0x0
PUSH 0x1
PUSH dword ptr [ESP + 0x74]
MOV EAX,dword ptr [ESP + 0x6c]
ADD EAX,0x8
PUSH EAX
CALL 0x001e3f80
MOV dword ptr [ESP + 0x7c],EAX
ADD ESP,0xc
PUSH 0x0
PUSH 0x0
PUSH EDI
PUSH ESI
PUSH dword ptr [ESP + 0x88]
PUSH dword ptr [ESP + 0x84]
PUSH dword ptr [ESP + 0x7c]
CALL 0x0010c350
ADD ESP,0x20
MOV EDX,dword ptr [ESP + 0x4]
MOV EBP,EAX
JMP 0x0011f150
CMP byte ptr [EDX + 0x3ced],0x0
JNZ 0x0011f25d
MOVZX EAX,byte ptr [EDX + 0x318d]
TEST AL,AL
JNZ 0x0011f280
MOV EAX,dword ptr [ESP + 0x70]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x14]
BSWAP EAX
CMP EAX,0x4
JBE 0x0011f280
MOV ESI,dword ptr [ESP + 0x6c]
MOV ECX,0x7
LEA EDI,[EBX + 0xffee9430]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0011f504
MOV EDI,dword ptr [ESP + 0x6c]
MOV ECX,0x7
LEA ESI,[EBX + 0xffee9456]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x0011f570
MOV ESI,dword ptr [EBP + 0x20]
MOV ECX,0xc
LEA EDI,[EBX + 0xffee9437]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x0011f570
MOV EAX,dword ptr [ESP + 0x64]
LEA EDX,[ESP + 0x10]
SUB ESP,0x8
MOV dword ptr [ESP + 0x30],EAX
MOV EAX,dword ptr [ESP + 0x70]
MOV dword ptr [ESP + 0x34],EAX
LEA EAX,[EBX + 0x774]
MOV dword ptr [ESP + 0x2c],EAX
PUSH 0x1
PUSH 0x0
LEA ECX,[ESP + 0x34]
PUSH ECX
LEA ECX,[ESP + 0x3c]
PUSH ECX
PUSH EAX
PUSH EDX
CALL 0x000a8d90
MOV EAX,dword ptr [ESP + 0x7c]
ADD ESP,0x1c
MOV EAX,dword ptr [EAX + 0x4]
MOVZX EAX,byte ptr [EAX + 0xac]
JMP 0x0011f282
MOV ESI,dword ptr [ESP + 0x6c]
MOV ECX,0x7
LEA EDI,[EBX + 0xffee944f]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x0011f658
MOV ESI,dword ptr [EBP + 0x20]
MOV ECX,0xc
LEA EDI,[EBX + 0xffee9443]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0011f51d
JMP 0x0011f280
TEST EDX,EDX
JNZ 0x0011f282
PUSH EAX
LEA EAX,[EBX + 0xffeea868]
PUSH EAX
LEA EAX,[EBX + 0xffece26d]
PUSH 0x5c
PUSH EAX
CALL 0x000da200
MOV EDX,dword ptr [ESP + 0xc]
OR byte ptr [EBP + 0x91],0x8
MOV EAX,dword ptr [ESP + 0x4]
MOVZX ECX,byte ptr [EAX + 0xac]
MOVZX EAX,CL
TEST CL,CL
JZ 0x0011f4ad
JMP 0x0011f282
MOV dword ptr [ESP + 0xc],EDX
LEA EAX,[EBX + 0xffff3090]
LEA ESI,[EBX + 0xffff3080]
MOV dword ptr [ESP + 0x8],EAX
LEA EDI,[EBX + 0xffee93ca]
MOV EAX,0xe
SUB ESP,0x4
PUSH EAX
PUSH dword ptr [ESP + 0x74]
PUSH EDI
CALL 0x0002c750
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0011f5d0
ADD ESI,0x4
CMP dword ptr [ESP + 0x8],ESI
JZ 0x0011f4bc
MOV EDI,dword ptr [ESI]
SUB ESP,0xc
PUSH EDI
CALL 0x0002c330
ADD ESP,0x10
JMP 0x0011f61f
MOV EDI,dword ptr [ESP + 0x6c]
MOV ECX,0x7
LEA ESI,[EBX + 0xffee945e]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0011f58e
JMP 0x0011f280
CALL 0x00106b00
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n\nint FUN_0011efd0(int param_1,int *param_2,undefined4 param_3,int *param_4,int *param_5,\n                undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 *param_9)\n\n{\n  uint uVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  uint uVar5;\n  char cVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  size_t sVar10;\n  byte bVar11;\n  int iVar12;\n  int *piVar13;\n  int *piVar14;\n  int **ppiVar15;\n  int **ppiVar16;\n  int **ppiVar17;\n  byte *pbVar18;\n  undefined **ppuVar19;\n  byte *pbVar20;\n  char *pcVar21;\n  bool bVar22;\n  bool bVar23;\n  undefined1 uVar24;\n  bool bVar25;\n  undefined1 uVar26;\n  byte bVar27;\n  undefined8 uVar28;\n  int unaff_retaddr;\n  int *apiStackY_8c [3];\n  int *apiStack_60 [8];\n  int *local_40 [3];\n  undefined1 local_34 [4];\n  byte local_30 [28];\n  undefined4 uStack_14;\n  \n  bVar27 = 0;\n  uStack_14 = 0x11efd9;\n  *param_9 = 0;\n  param_9[1] = 0;\n  apiStack_60[0] = param_5;\n  cVar6 = FUN_00117e80(param_1,param_2,param_4);\n  ppiVar16 = apiStack_60 + 1;\n  ppiVar15 = apiStack_60 + 1;\n  if (cVar6 == '\0') {\n    return 0;\n  }\n  uVar9 = *(uint *)(DAT_004144e8 + 8);\n  if (uVar9 == 0) goto LAB_0011f5b8;\n  if (*(char *)(uVar9 + 0x318d) == '\0') {\nLAB_0011f049:\n    piVar13 = &DAT_004144e8;\n    if (*(char *)(uVar9 + 0x5871) != '\0') {\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }\n    ppiVar15[1] = piVar13;\n    ppiVar15[10] = ppiVar15[0x19];\n    ppiVar15[0xb] = ppiVar15[0x1a];\n    ppiVar15[-2] = (int *)local_34;\n    ppiVar15[-3] = ppiVar15[0x18] + 0x81;\n    ppiVar15[-4] = (int *)(ppiVar15 + 7);\n    ppiVar15[-5] = (int *)0x11f087;\n    FUN_001196a0();\n    piVar13 = ppiVar15[6];\n    ppiVar17 = ppiVar15 + -1;\n    uVar9 = *(uint *)(*ppiVar15[0x1b] + 8);\n    uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n    uVar4 = (uVar9 & 0xff00) << 8;\n    if (piVar13 == ppiVar15[0x17] + 0x82) {\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }\n  }\n  else {\n    uVar1 = *(uint *)(*param_5 + 8);\n    uVar4 = (uVar1 & 0xff0000) >> 8;\n    if ((uVar4 & 0x200) == 0) goto LAB_0011f049;\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);\n    ppiVar16 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }\nLAB_0011f150:\n  piVar13 = (int *)ppiVar16[0x18][1];\n  piVar14 = *(int **)(*apiStack_60[1] + 8);\n  ppiVar16[1] = piVar13;\n  bVar11 = *(byte *)(piVar13 + 0x2b);\n  uVar9 = (uint)bVar11;\n  if (bVar11 != 0) {\n    if (piVar14 == (int *)0x0) goto LAB_0011f5b8;\n    goto LAB_0011f282;\n  }\n  if (piVar14 == (int *)0x0) {\nLAB_0011f5b8:\n    ppiVar16[0xffffffff] = (int *)uVar9;\n    ppiVar16[0xfffffffe] = (int *)"options";\n    ppiVar16[0xfffffffd] = (int *)0x5c;\n    ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n    ppiVar16[0xfffffffb] = (int *)0x11f5ce;\n    FUN_000da200();\n  }\n  bVar22 = false;\n  bVar25 = *(char *)((int)piVar14 + 0x318d) == '\0';\n  if (!bVar25) goto LAB_0011f4a0;\n  iVar12 = 7;\n  pbVar18 = (byte *)".ctors.";\n  pbVar20 = (byte *)ppiVar16[0x1b];\n  do {\n    if (iVar12 == 0) break;\n    iVar12 = iVar12 + -1;\n    bVar22 = *pbVar18 < *pbVar20;\n    bVar25 = *pbVar18 == *pbVar20;\n    pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n  } while (bVar25);\n  bVar23 = false;\n  bVar22 = (!bVar22 && !bVar25) == bVar22;\n  if (bVar22) {\nLAB_0011f238:\n    *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n    bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n    uVar9 = (uint)bVar11;\n    if (*(char *)((int)piVar14 + 0x3ced) == '\0') {\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }\n    if (bVar11 != 0) goto LAB_0011f282;\nLAB_0011f25d:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\n    if (*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0') goto LAB_0011f4b4;\n    if (cVar6 == '\0') {\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }\n  }\n  else {\n    iVar12 = 7;\n    pbVar18 = (byte *)".dtors.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar25 = false;\n    bVar22 = (!bVar23 && !bVar22) == bVar23;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".init_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar22 = (!bVar25 && !bVar22) == bVar25;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".fini_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;\n    bVar22 = false;\n    bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';\n    if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }\nLAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;\nLAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\nLAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }\n  }\nLAB_0011f280:\n  uVar9 = 0;\nLAB_0011f282:\n  uVar1 = *(uint *)(iVar8 + 0x54);\n  *(uint *)((int)ppiVar16 + -4) = uVar9;\n  *(undefined4 *)((int)ppiVar16 + -8) = *(undefined4 *)((int)ppiVar16 + 0x78);\n  *(undefined4 *)((int)ppiVar16 + -0xc) = *(undefined4 *)((int)ppiVar16 + 0x70);\n  *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x6c);\n  *(undefined4 *)((int)ppiVar16 + -0x14) = *(undefined4 *)((int)ppiVar16 + 0x68);\n  *(undefined4 *)((int)ppiVar16 + -0x18) = *(undefined4 *)((int)ppiVar16 + 100);\n  *(undefined4 *)((int)ppiVar16 + -0x1c) = *(undefined4 *)((int)ppiVar16 + 0x60);\n  *(int *)((int)ppiVar16 + -0x20) = iVar8;\n  *(undefined4 *)((int)ppiVar16 + -0x24) = 0x11f2a4;\n  uVar28 = FUN_00191bd0();\n  **(undefined8 **)((int)ppiVar16 + 0x80) = uVar28;\n  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar16 + -8) = 0;\n    *(int *)((int)ppiVar16 + -0xc) = iVar8;\n    *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60);\n    *(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2;\n    uVar7 = FUN_00107cf0();\n    *(undefined4 *)(iVar8 + 0x5c) = uVar7;\n  }\n  *(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4) = 1;\n  return iVar8;\n}\n\n" comment comment (function_definition "int FUN_0011efd0(int param_1,int *param_2,undefined4 param_3,int *param_4,int *param_5,\n                undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 *param_9)\n\n{\n  uint uVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  uint uVar5;\n  char cVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  size_t sVar10;\n  byte bVar11;\n  int iVar12;\n  int *piVar13;\n  int *piVar14;\n  int **ppiVar15;\n  int **ppiVar16;\n  int **ppiVar17;\n  byte *pbVar18;\n  undefined **ppuVar19;\n  byte *pbVar20;\n  char *pcVar21;\n  bool bVar22;\n  bool bVar23;\n  undefined1 uVar24;\n  bool bVar25;\n  undefined1 uVar26;\n  byte bVar27;\n  undefined8 uVar28;\n  int unaff_retaddr;\n  int *apiStackY_8c [3];\n  int *apiStack_60 [8];\n  int *local_40 [3];\n  undefined1 local_34 [4];\n  byte local_30 [28];\n  undefined4 uStack_14;\n  \n  bVar27 = 0;\n  uStack_14 = 0x11efd9;\n  *param_9 = 0;\n  param_9[1] = 0;\n  apiStack_60[0] = param_5;\n  cVar6 = FUN_00117e80(param_1,param_2,param_4);\n  ppiVar16 = apiStack_60 + 1;\n  ppiVar15 = apiStack_60 + 1;\n  if (cVar6 == '\0') {\n    return 0;\n  }\n  uVar9 = *(uint *)(DAT_004144e8 + 8);\n  if (uVar9 == 0) goto LAB_0011f5b8;\n  if (*(char *)(uVar9 + 0x318d) == '\0') {\nLAB_0011f049:\n    piVar13 = &DAT_004144e8;\n    if (*(char *)(uVar9 + 0x5871) != '\0') {\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }\n    ppiVar15[1] = piVar13;\n    ppiVar15[10] = ppiVar15[0x19];\n    ppiVar15[0xb] = ppiVar15[0x1a];\n    ppiVar15[-2] = (int *)local_34;\n    ppiVar15[-3] = ppiVar15[0x18] + 0x81;\n    ppiVar15[-4] = (int *)(ppiVar15 + 7);\n    ppiVar15[-5] = (int *)0x11f087;\n    FUN_001196a0();\n    piVar13 = ppiVar15[6];\n    ppiVar17 = ppiVar15 + -1;\n    uVar9 = *(uint *)(*ppiVar15[0x1b] + 8);\n    uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n    uVar4 = (uVar9 & 0xff00) << 8;\n    if (piVar13 == ppiVar15[0x17] + 0x82) {\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }\n  }\n  else {\n    uVar1 = *(uint *)(*param_5 + 8);\n    uVar4 = (uVar1 & 0xff0000) >> 8;\n    if ((uVar4 & 0x200) == 0) goto LAB_0011f049;\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);\n    ppiVar16 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }\nLAB_0011f150:\n  piVar13 = (int *)ppiVar16[0x18][1];\n  piVar14 = *(int **)(*apiStack_60[1] + 8);\n  ppiVar16[1] = piVar13;\n  bVar11 = *(byte *)(piVar13 + 0x2b);\n  uVar9 = (uint)bVar11;\n  if (bVar11 != 0) {\n    if (piVar14 == (int *)0x0) goto LAB_0011f5b8;\n    goto LAB_0011f282;\n  }\n  if (piVar14 == (int *)0x0) {\nLAB_0011f5b8:\n    ppiVar16[0xffffffff] = (int *)uVar9;\n    ppiVar16[0xfffffffe] = (int *)"options";\n    ppiVar16[0xfffffffd] = (int *)0x5c;\n    ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n    ppiVar16[0xfffffffb] = (int *)0x11f5ce;\n    FUN_000da200();\n  }\n  bVar22 = false;\n  bVar25 = *(char *)((int)piVar14 + 0x318d) == '\0';\n  if (!bVar25) goto LAB_0011f4a0;\n  iVar12 = 7;\n  pbVar18 = (byte *)".ctors.";\n  pbVar20 = (byte *)ppiVar16[0x1b];\n  do {\n    if (iVar12 == 0) break;\n    iVar12 = iVar12 + -1;\n    bVar22 = *pbVar18 < *pbVar20;\n    bVar25 = *pbVar18 == *pbVar20;\n    pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n  } while (bVar25);\n  bVar23 = false;\n  bVar22 = (!bVar22 && !bVar25) == bVar22;\n  if (bVar22) {\nLAB_0011f238:\n    *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n    bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n    uVar9 = (uint)bVar11;\n    if (*(char *)((int)piVar14 + 0x3ced) == '\0') {\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }\n    if (bVar11 != 0) goto LAB_0011f282;\nLAB_0011f25d:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\n    if (*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0') goto LAB_0011f4b4;\n    if (cVar6 == '\0') {\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }\n  }\n  else {\n    iVar12 = 7;\n    pbVar18 = (byte *)".dtors.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar25 = false;\n    bVar22 = (!bVar23 && !bVar22) == bVar23;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".init_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar22 = (!bVar25 && !bVar22) == bVar25;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".fini_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;\n    bVar22 = false;\n    bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';\n    if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }\nLAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;\nLAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\nLAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }\n  }\nLAB_0011f280:\n  uVar9 = 0;\nLAB_0011f282:\n  uVar1 = *(uint *)(iVar8 + 0x54);\n  *(uint *)((int)ppiVar16 + -4) = uVar9;\n  *(undefined4 *)((int)ppiVar16 + -8) = *(undefined4 *)((int)ppiVar16 + 0x78);\n  *(undefined4 *)((int)ppiVar16 + -0xc) = *(undefined4 *)((int)ppiVar16 + 0x70);\n  *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x6c);\n  *(undefined4 *)((int)ppiVar16 + -0x14) = *(undefined4 *)((int)ppiVar16 + 0x68);\n  *(undefined4 *)((int)ppiVar16 + -0x18) = *(undefined4 *)((int)ppiVar16 + 100);\n  *(undefined4 *)((int)ppiVar16 + -0x1c) = *(undefined4 *)((int)ppiVar16 + 0x60);\n  *(int *)((int)ppiVar16 + -0x20) = iVar8;\n  *(undefined4 *)((int)ppiVar16 + -0x24) = 0x11f2a4;\n  uVar28 = FUN_00191bd0();\n  **(undefined8 **)((int)ppiVar16 + 0x80) = uVar28;\n  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar16 + -8) = 0;\n    *(int *)((int)ppiVar16 + -0xc) = iVar8;\n    *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60);\n    *(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2;\n    uVar7 = FUN_00107cf0();\n    *(undefined4 *)(iVar8 + 0x5c) = uVar7;\n  }\n  *(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4) = 1;\n  return iVar8;\n}" primitive_type (function_declarator "FUN_0011efd0(int param_1,int *param_2,undefined4 param_3,int *param_4,int *param_5,\n                undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 *param_9)" identifier (parameter_list "(int param_1,int *param_2,undefined4 param_3,int *param_4,int *param_5,\n                undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 *param_9)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int *param_5" primitive_type (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_7" type_identifier identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) , (parameter_declaration "undefined4 *param_9" type_identifier (pointer_declarator "*param_9" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  uint uVar5;\n  char cVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  size_t sVar10;\n  byte bVar11;\n  int iVar12;\n  int *piVar13;\n  int *piVar14;\n  int **ppiVar15;\n  int **ppiVar16;\n  int **ppiVar17;\n  byte *pbVar18;\n  undefined **ppuVar19;\n  byte *pbVar20;\n  char *pcVar21;\n  bool bVar22;\n  bool bVar23;\n  undefined1 uVar24;\n  bool bVar25;\n  undefined1 uVar26;\n  byte bVar27;\n  undefined8 uVar28;\n  int unaff_retaddr;\n  int *apiStackY_8c [3];\n  int *apiStack_60 [8];\n  int *local_40 [3];\n  undefined1 local_34 [4];\n  byte local_30 [28];\n  undefined4 uStack_14;\n  \n  bVar27 = 0;\n  uStack_14 = 0x11efd9;\n  *param_9 = 0;\n  param_9[1] = 0;\n  apiStack_60[0] = param_5;\n  cVar6 = FUN_00117e80(param_1,param_2,param_4);\n  ppiVar16 = apiStack_60 + 1;\n  ppiVar15 = apiStack_60 + 1;\n  if (cVar6 == '\0') {\n    return 0;\n  }\n  uVar9 = *(uint *)(DAT_004144e8 + 8);\n  if (uVar9 == 0) goto LAB_0011f5b8;\n  if (*(char *)(uVar9 + 0x318d) == '\0') {\nLAB_0011f049:\n    piVar13 = &DAT_004144e8;\n    if (*(char *)(uVar9 + 0x5871) != '\0') {\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }\n    ppiVar15[1] = piVar13;\n    ppiVar15[10] = ppiVar15[0x19];\n    ppiVar15[0xb] = ppiVar15[0x1a];\n    ppiVar15[-2] = (int *)local_34;\n    ppiVar15[-3] = ppiVar15[0x18] + 0x81;\n    ppiVar15[-4] = (int *)(ppiVar15 + 7);\n    ppiVar15[-5] = (int *)0x11f087;\n    FUN_001196a0();\n    piVar13 = ppiVar15[6];\n    ppiVar17 = ppiVar15 + -1;\n    uVar9 = *(uint *)(*ppiVar15[0x1b] + 8);\n    uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n    uVar4 = (uVar9 & 0xff00) << 8;\n    if (piVar13 == ppiVar15[0x17] + 0x82) {\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }\n  }\n  else {\n    uVar1 = *(uint *)(*param_5 + 8);\n    uVar4 = (uVar1 & 0xff0000) >> 8;\n    if ((uVar4 & 0x200) == 0) goto LAB_0011f049;\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);\n    ppiVar16 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }\nLAB_0011f150:\n  piVar13 = (int *)ppiVar16[0x18][1];\n  piVar14 = *(int **)(*apiStack_60[1] + 8);\n  ppiVar16[1] = piVar13;\n  bVar11 = *(byte *)(piVar13 + 0x2b);\n  uVar9 = (uint)bVar11;\n  if (bVar11 != 0) {\n    if (piVar14 == (int *)0x0) goto LAB_0011f5b8;\n    goto LAB_0011f282;\n  }\n  if (piVar14 == (int *)0x0) {\nLAB_0011f5b8:\n    ppiVar16[0xffffffff] = (int *)uVar9;\n    ppiVar16[0xfffffffe] = (int *)"options";\n    ppiVar16[0xfffffffd] = (int *)0x5c;\n    ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n    ppiVar16[0xfffffffb] = (int *)0x11f5ce;\n    FUN_000da200();\n  }\n  bVar22 = false;\n  bVar25 = *(char *)((int)piVar14 + 0x318d) == '\0';\n  if (!bVar25) goto LAB_0011f4a0;\n  iVar12 = 7;\n  pbVar18 = (byte *)".ctors.";\n  pbVar20 = (byte *)ppiVar16[0x1b];\n  do {\n    if (iVar12 == 0) break;\n    iVar12 = iVar12 + -1;\n    bVar22 = *pbVar18 < *pbVar20;\n    bVar25 = *pbVar18 == *pbVar20;\n    pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n  } while (bVar25);\n  bVar23 = false;\n  bVar22 = (!bVar22 && !bVar25) == bVar22;\n  if (bVar22) {\nLAB_0011f238:\n    *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n    bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n    uVar9 = (uint)bVar11;\n    if (*(char *)((int)piVar14 + 0x3ced) == '\0') {\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }\n    if (bVar11 != 0) goto LAB_0011f282;\nLAB_0011f25d:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\n    if (*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0') goto LAB_0011f4b4;\n    if (cVar6 == '\0') {\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }\n  }\n  else {\n    iVar12 = 7;\n    pbVar18 = (byte *)".dtors.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar25 = false;\n    bVar22 = (!bVar23 && !bVar22) == bVar23;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".init_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar22 = (!bVar25 && !bVar22) == bVar25;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".fini_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;\n    bVar22 = false;\n    bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';\n    if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }\nLAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;\nLAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\nLAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }\n  }\nLAB_0011f280:\n  uVar9 = 0;\nLAB_0011f282:\n  uVar1 = *(uint *)(iVar8 + 0x54);\n  *(uint *)((int)ppiVar16 + -4) = uVar9;\n  *(undefined4 *)((int)ppiVar16 + -8) = *(undefined4 *)((int)ppiVar16 + 0x78);\n  *(undefined4 *)((int)ppiVar16 + -0xc) = *(undefined4 *)((int)ppiVar16 + 0x70);\n  *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x6c);\n  *(undefined4 *)((int)ppiVar16 + -0x14) = *(undefined4 *)((int)ppiVar16 + 0x68);\n  *(undefined4 *)((int)ppiVar16 + -0x18) = *(undefined4 *)((int)ppiVar16 + 100);\n  *(undefined4 *)((int)ppiVar16 + -0x1c) = *(undefined4 *)((int)ppiVar16 + 0x60);\n  *(int *)((int)ppiVar16 + -0x20) = iVar8;\n  *(undefined4 *)((int)ppiVar16 + -0x24) = 0x11f2a4;\n  uVar28 = FUN_00191bd0();\n  **(undefined8 **)((int)ppiVar16 + 0x80) = uVar28;\n  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar16 + -8) = 0;\n    *(int *)((int)ppiVar16 + -0xc) = iVar8;\n    *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60);\n    *(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2;\n    uVar7 = FUN_00107cf0();\n    *(undefined4 *)(iVar8 + 0x5c) = uVar7;\n  }\n  *(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4) = 1;\n  return iVar8;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "size_t sVar10;" primitive_type identifier ;) (declaration "byte bVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int **ppiVar15;" primitive_type (pointer_declarator "**ppiVar15" * (pointer_declarator "*ppiVar15" * identifier)) ;) (declaration "int **ppiVar16;" primitive_type (pointer_declarator "**ppiVar16" * (pointer_declarator "*ppiVar16" * identifier)) ;) (declaration "int **ppiVar17;" primitive_type (pointer_declarator "**ppiVar17" * (pointer_declarator "*ppiVar17" * identifier)) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "undefined **ppuVar19;" type_identifier (pointer_declarator "**ppuVar19" * (pointer_declarator "*ppuVar19" * identifier)) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "char *pcVar21;" primitive_type (pointer_declarator "*pcVar21" * identifier) ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "undefined1 uVar24;" type_identifier identifier ;) (declaration "bool bVar25;" primitive_type identifier ;) (declaration "undefined1 uVar26;" type_identifier identifier ;) (declaration "byte bVar27;" type_identifier identifier ;) (declaration "undefined8 uVar28;" type_identifier identifier ;) (declaration "int unaff_retaddr;" primitive_type identifier ;) (declaration "int *apiStackY_8c [3];" primitive_type (pointer_declarator "*apiStackY_8c [3]" * (array_declarator "apiStackY_8c [3]" identifier [ number_literal ])) ;) (declaration "int *apiStack_60 [8];" primitive_type (pointer_declarator "*apiStack_60 [8]" * (array_declarator "apiStack_60 [8]" identifier [ number_literal ])) ;) (declaration "int *local_40 [3];" primitive_type (pointer_declarator "*local_40 [3]" * (array_declarator "local_40 [3]" identifier [ number_literal ])) ;) (declaration "undefined1 local_34 [4];" type_identifier (array_declarator "local_34 [4]" identifier [ number_literal ]) ;) (declaration "byte local_30 [28];" type_identifier (array_declarator "local_30 [28]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar27 = 0;" (assignment_expression "bVar27 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x11efd9;" (assignment_expression "uStack_14 = 0x11efd9" identifier = number_literal) ;) (expression_statement "*param_9 = 0;" (assignment_expression "*param_9 = 0" (pointer_expression "*param_9" * identifier) = number_literal) ;) (expression_statement "param_9[1] = 0;" (assignment_expression "param_9[1] = 0" (subscript_expression "param_9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "apiStack_60[0] = param_5;" (assignment_expression "apiStack_60[0] = param_5" (subscript_expression "apiStack_60[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "cVar6 = FUN_00117e80(param_1,param_2,param_4);" (assignment_expression "cVar6 = FUN_00117e80(param_1,param_2,param_4)" identifier = (call_expression "FUN_00117e80(param_1,param_2,param_4)" identifier (argument_list "(param_1,param_2,param_4)" ( identifier , identifier , identifier )))) ;) (expression_statement "ppiVar16 = apiStack_60 + 1;" (assignment_expression "ppiVar16 = apiStack_60 + 1" identifier = (binary_expression "apiStack_60 + 1" identifier + number_literal)) ;) (expression_statement "ppiVar15 = apiStack_60 + 1;" (assignment_expression "ppiVar15 = apiStack_60 + 1" identifier = (binary_expression "apiStack_60 + 1" identifier + number_literal)) ;) (if_statement "if (cVar6 == '\0') {\n    return 0;\n  }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar9 = *(uint *)(DAT_004144e8 + 8);" (assignment_expression "uVar9 = *(uint *)(DAT_004144e8 + 8)" identifier = (pointer_expression "*(uint *)(DAT_004144e8 + 8)" * (cast_expression "(uint *)(DAT_004144e8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_004144e8 + 8)" ( (binary_expression "DAT_004144e8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (uVar9 == 0) goto LAB_0011f5b8;" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0011f5b8;" goto statement_identifier ;)) (if_statement "if (*(char *)(uVar9 + 0x318d) == '\0') {\nLAB_0011f049:\n    piVar13 = &DAT_004144e8;\n    if (*(char *)(uVar9 + 0x5871) != '\0') {\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }\n    ppiVar15[1] = piVar13;\n    ppiVar15[10] = ppiVar15[0x19];\n    ppiVar15[0xb] = ppiVar15[0x1a];\n    ppiVar15[-2] = (int *)local_34;\n    ppiVar15[-3] = ppiVar15[0x18] + 0x81;\n    ppiVar15[-4] = (int *)(ppiVar15 + 7);\n    ppiVar15[-5] = (int *)0x11f087;\n    FUN_001196a0();\n    piVar13 = ppiVar15[6];\n    ppiVar17 = ppiVar15 + -1;\n    uVar9 = *(uint *)(*ppiVar15[0x1b] + 8);\n    uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n    uVar4 = (uVar9 & 0xff00) << 8;\n    if (piVar13 == ppiVar15[0x17] + 0x82) {\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }\n  }\n  else {\n    uVar1 = *(uint *)(*param_5 + 8);\n    uVar4 = (uVar1 & 0xff0000) >> 8;\n    if ((uVar4 & 0x200) == 0) goto LAB_0011f049;\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);\n    ppiVar16 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }" if (parenthesized_expression "(*(char *)(uVar9 + 0x318d) == '\0')" ( (binary_expression "*(char *)(uVar9 + 0x318d) == '\0'" (pointer_expression "*(char *)(uVar9 + 0x318d)" * (cast_expression "(char *)(uVar9 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar9 + 0x318d)" ( (binary_expression "uVar9 + 0x318d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0011f049:\n    piVar13 = &DAT_004144e8;\n    if (*(char *)(uVar9 + 0x5871) != '\0') {\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }\n    ppiVar15[1] = piVar13;\n    ppiVar15[10] = ppiVar15[0x19];\n    ppiVar15[0xb] = ppiVar15[0x1a];\n    ppiVar15[-2] = (int *)local_34;\n    ppiVar15[-3] = ppiVar15[0x18] + 0x81;\n    ppiVar15[-4] = (int *)(ppiVar15 + 7);\n    ppiVar15[-5] = (int *)0x11f087;\n    FUN_001196a0();\n    piVar13 = ppiVar15[6];\n    ppiVar17 = ppiVar15 + -1;\n    uVar9 = *(uint *)(*ppiVar15[0x1b] + 8);\n    uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n    uVar4 = (uVar9 & 0xff00) << 8;\n    if (piVar13 == ppiVar15[0x17] + 0x82) {\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }\n  }" { (labeled_statement "LAB_0011f049:\n    piVar13 = &DAT_004144e8;" statement_identifier : (expression_statement "piVar13 = &DAT_004144e8;" (assignment_expression "piVar13 = &DAT_004144e8" identifier = (pointer_expression "&DAT_004144e8" & identifier)) ;)) (if_statement "if (*(char *)(uVar9 + 0x5871) != '\0') {\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }" if (parenthesized_expression "(*(char *)(uVar9 + 0x5871) != '\0')" ( (binary_expression "*(char *)(uVar9 + 0x5871) != '\0'" (pointer_expression "*(char *)(uVar9 + 0x5871)" * (cast_expression "(char *)(uVar9 + 0x5871)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar9 + 0x5871)" ( (binary_expression "uVar9 + 0x5871" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }" { (expression_statement "uVar24 = apiStack_60 + 1 < (int **)0x4;" (assignment_expression "uVar24 = apiStack_60 + 1 < (int **)0x4" identifier = (binary_expression "apiStack_60 + 1 < (int **)0x4" (binary_expression "apiStack_60 + 1" identifier + number_literal) < (cast_expression "(int **)0x4" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ;) (expression_statement "uVar26 = &stack0x00000000 == (undefined1 *)0x60;" (assignment_expression "uVar26 = &stack0x00000000 == (undefined1 *)0x60" identifier = (binary_expression "&stack0x00000000 == (undefined1 *)0x60" (pointer_expression "&stack0x00000000" & identifier) == (cast_expression "(undefined1 *)0x60" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "apiStack_60[2] = &DAT_004144e8;" (assignment_expression "apiStack_60[2] = &DAT_004144e8" (subscript_expression "apiStack_60[2]" identifier [ number_literal ]) = (pointer_expression "&DAT_004144e8" & identifier)) ;) (expression_statement "(**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);" (call_expression "(**(code **)(*param_2 + 0x40))(local_34,param_2,param_3)" (parenthesized_expression "(**(code **)(*param_2 + 0x40))" ( (pointer_expression "**(code **)(*param_2 + 0x40)" * (pointer_expression "*(code **)(*param_2 + 0x40)" * (cast_expression "(code **)(*param_2 + 0x40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x40)" ( (binary_expression "*param_2 + 0x40" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(local_34,param_2,param_3)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar8 = 0xe;" (assignment_expression "iVar8 = 0xe" identifier = number_literal) ;) (expression_statement "apiStack_60[2] = (int *)0x2fd3ca;" (assignment_expression "apiStack_60[2] = (int *)0x2fd3ca" (subscript_expression "apiStack_60[2]" identifier [ number_literal ]) = (cast_expression "(int *)0x2fd3ca" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar18 = (byte *)".text.unlikely";" (assignment_expression "pbVar18 = (byte *)".text.unlikely"" identifier = (cast_expression "(byte *)".text.unlikely"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".text.unlikely"" " string_content "))) ;) (expression_statement "pbVar20 = (byte *)local_40[2];" (assignment_expression "pbVar20 = (byte *)local_40[2]" identifier = (cast_expression "(byte *)local_40[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_40[2]" identifier [ number_literal ]))) ;) (do_statement "do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);" do (compound_statement "{\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "uVar24 = *pbVar18 < *pbVar20;" (assignment_expression "uVar24 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "uVar26 = *pbVar18 == *pbVar20;" (assignment_expression "uVar26 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "((bool)uVar26)" ( (cast_expression "(bool)uVar26" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "ppiVar15 = apiStack_60;" (assignment_expression "ppiVar15 = apiStack_60" identifier = identifier) ;) (if_statement "if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }" if (parenthesized_expression "((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24)" ( (binary_expression "(!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24" (parenthesized_expression "(!(bool)uVar24 && !(bool)uVar26)" ( (binary_expression "!(bool)uVar24 && !(bool)uVar26" (unary_expression "!(bool)uVar24" ! (cast_expression "(bool)uVar24" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar26" ! (cast_expression "(bool)uVar26" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar24" ( (type_descriptor "bool" primitive_type) ) identifier)) )) (compound_statement "{\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }" { (if_statement "if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }" if (parenthesized_expression "((byte *)local_40[2] != local_30)" ( (binary_expression "(byte *)local_40[2] != local_30" (cast_expression "(byte *)local_40[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_40[2]" identifier [ number_literal ])) != identifier) )) (compound_statement "{\n          FUN_00248220(local_40[2]);\n        }" { (expression_statement "FUN_00248220(local_40[2]);" (call_expression "FUN_00248220(local_40[2])" identifier (argument_list "(local_40[2])" ( (subscript_expression "local_40[2]" identifier [ number_literal ]) ))) ;) })) (expression_statement "ppiVar17 = apiStack_60;" (assignment_expression "ppiVar17 = apiStack_60" identifier = identifier) ;) (expression_statement "uVar9 = *(uint *)(*param_4 + 8);" (assignment_expression "uVar9 = *(uint *)(*param_4 + 8)" identifier = (pointer_expression "*(uint *)(*param_4 + 8)" * (cast_expression "(uint *)(*param_4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + 8)" ( (binary_expression "*param_4 + 8" (pointer_expression "*param_4" * identifier) + number_literal) ))))) ;) (expression_statement "uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;" (assignment_expression "uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal))) ;) (if_statement "if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;" if (parenthesized_expression "(*(int *)(*apiStack_60[1] + 8) == 0)" ( (binary_expression "*(int *)(*apiStack_60[1] + 8) == 0" (pointer_expression "*(int *)(*apiStack_60[1] + 8)" * (cast_expression "(int *)(*apiStack_60[1] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*apiStack_60[1] + 8)" ( (binary_expression "*apiStack_60[1] + 8" (pointer_expression "*apiStack_60[1]" * (subscript_expression "apiStack_60[1]" identifier [ number_literal ])) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0011f67b;" goto statement_identifier ;)) (expression_statement "uVar4 = uVar1 & 0xfffff50f;" (assignment_expression "uVar4 = uVar1 & 0xfffff50f" identifier = (binary_expression "uVar1 & 0xfffff50f" identifier & number_literal)) ;) (if_statement "if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }" if (parenthesized_expression "(*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0')" ( (binary_expression "*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0'" (pointer_expression "*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d)" * (cast_expression "(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*apiStack_60[1] + 8) + 0x318d)" ( (binary_expression "*(int *)(*apiStack_60[1] + 8) + 0x318d" (pointer_expression "*(int *)(*apiStack_60[1] + 8)" * (cast_expression "(int *)(*apiStack_60[1] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*apiStack_60[1] + 8)" ( (binary_expression "*apiStack_60[1] + 8" (pointer_expression "*apiStack_60[1]" * (subscript_expression "apiStack_60[1]" identifier [ number_literal ])) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar4 = uVar1 & 0xfffff58f;\n        }" { (expression_statement "uVar4 = uVar1 & 0xfffff58f;" (assignment_expression "uVar4 = uVar1 & 0xfffff58f" identifier = (binary_expression "uVar1 & 0xfffff58f" identifier & number_literal)) ;) })) (expression_statement "uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);" (assignment_expression "uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34)" identifier = (call_expression "FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34)" identifier (argument_list "(unaff_retaddr + 8,apiStack_60[2],1,local_34)" ( (binary_expression "unaff_retaddr + 8" identifier + number_literal) , (subscript_expression "apiStack_60[2]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (expression_statement "iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);" (assignment_expression "iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0)" identifier = (call_expression "FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0)" identifier (argument_list "(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0)" ( identifier , identifier , (subscript_expression "local_40[2]" identifier [ number_literal ]) , identifier , (binary_expression "uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar4 | (uVar9 & 0xff00) << 8" identifier | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal)) , number_literal , number_literal , number_literal )))) ;) (expression_statement "ppiVar16 = apiStack_60;" (assignment_expression "ppiVar16 = apiStack_60" identifier = identifier) ;) (expression_statement "*(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;" (assignment_expression "*(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar8 + 0x92)" * (cast_expression "(byte *)(iVar8 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x92)" ( (binary_expression "iVar8 + 0x92" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar8 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar8 + 0x92)" * (cast_expression "(byte *)(iVar8 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x92)" ( (binary_expression "iVar8 + 0x92" identifier + number_literal) )))) | number_literal)) ;) (goto_statement "goto LAB_0011f150;" goto statement_identifier ;) })) (expression_statement "piVar13 = apiStack_60[1];" (assignment_expression "piVar13 = apiStack_60[1]" identifier = (subscript_expression "apiStack_60[1]" identifier [ number_literal ])) ;) (if_statement "if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }" if (parenthesized_expression "((byte *)local_40[2] != local_30)" ( (binary_expression "(byte *)local_40[2] != local_30" (cast_expression "(byte *)local_40[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_40[2]" identifier [ number_literal ])) != identifier) )) (compound_statement "{\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }" { (expression_statement "FUN_00248220(local_40[2]);" (call_expression "FUN_00248220(local_40[2])" identifier (argument_list "(local_40[2])" ( (subscript_expression "local_40[2]" identifier [ number_literal ]) ))) ;) (expression_statement "ppiVar15 = apiStack_60;" (assignment_expression "ppiVar15 = apiStack_60" identifier = identifier) ;) (expression_statement "piVar13 = apiStack_60[1];" (assignment_expression "piVar13 = apiStack_60[1]" identifier = (subscript_expression "apiStack_60[1]" identifier [ number_literal ])) ;) })) })) (expression_statement "ppiVar15[1] = piVar13;" (assignment_expression "ppiVar15[1] = piVar13" (subscript_expression "ppiVar15[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppiVar15[10] = ppiVar15[0x19];" (assignment_expression "ppiVar15[10] = ppiVar15[0x19]" (subscript_expression "ppiVar15[10]" identifier [ number_literal ]) = (subscript_expression "ppiVar15[0x19]" identifier [ number_literal ])) ;) (expression_statement "ppiVar15[0xb] = ppiVar15[0x1a];" (assignment_expression "ppiVar15[0xb] = ppiVar15[0x1a]" (subscript_expression "ppiVar15[0xb]" identifier [ number_literal ]) = (subscript_expression "ppiVar15[0x1a]" identifier [ number_literal ])) ;) (expression_statement "ppiVar15[-2] = (int *)local_34;" (assignment_expression "ppiVar15[-2] = (int *)local_34" (subscript_expression "ppiVar15[-2]" identifier [ number_literal ]) = (cast_expression "(int *)local_34" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar15[-3] = ppiVar15[0x18] + 0x81;" (assignment_expression "ppiVar15[-3] = ppiVar15[0x18] + 0x81" (subscript_expression "ppiVar15[-3]" identifier [ number_literal ]) = (binary_expression "ppiVar15[0x18] + 0x81" (subscript_expression "ppiVar15[0x18]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "ppiVar15[-4] = (int *)(ppiVar15 + 7);" (assignment_expression "ppiVar15[-4] = (int *)(ppiVar15 + 7)" (subscript_expression "ppiVar15[-4]" identifier [ number_literal ]) = (cast_expression "(int *)(ppiVar15 + 7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar15 + 7)" ( (binary_expression "ppiVar15 + 7" identifier + number_literal) )))) ;) (expression_statement "ppiVar15[-5] = (int *)0x11f087;" (assignment_expression "ppiVar15[-5] = (int *)0x11f087" (subscript_expression "ppiVar15[-5]" identifier [ number_literal ]) = (cast_expression "(int *)0x11f087" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_001196a0();" (call_expression "FUN_001196a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar13 = ppiVar15[6];" (assignment_expression "piVar13 = ppiVar15[6]" identifier = (subscript_expression "ppiVar15[6]" identifier [ number_literal ])) ;) (expression_statement "ppiVar17 = ppiVar15 + -1;" (assignment_expression "ppiVar17 = ppiVar15 + -1" identifier = (binary_expression "ppiVar15 + -1" identifier + number_literal)) ;) (expression_statement "uVar9 = *(uint *)(*ppiVar15[0x1b] + 8);" (assignment_expression "uVar9 = *(uint *)(*ppiVar15[0x1b] + 8)" identifier = (pointer_expression "*(uint *)(*ppiVar15[0x1b] + 8)" * (cast_expression "(uint *)(*ppiVar15[0x1b] + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppiVar15[0x1b] + 8)" ( (binary_expression "*ppiVar15[0x1b] + 8" (pointer_expression "*ppiVar15[0x1b]" * (subscript_expression "ppiVar15[0x1b]" identifier [ number_literal ])) + number_literal) ))))) ;) (expression_statement "uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;" (assignment_expression "uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal))) ;) (expression_statement "uVar4 = (uVar9 & 0xff00) << 8;" (assignment_expression "uVar4 = (uVar9 & 0xff00) << 8" identifier = (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) ;) (if_statement "if (piVar13 == ppiVar15[0x17] + 0x82) {\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }" if (parenthesized_expression "(piVar13 == ppiVar15[0x17] + 0x82)" ( (binary_expression "piVar13 == ppiVar15[0x17] + 0x82" identifier == (binary_expression "ppiVar15[0x17] + 0x82" (subscript_expression "ppiVar15[0x17]" identifier [ number_literal ]) + number_literal)) )) (compound_statement "{\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }" { (expression_statement "ppiVar15[-3] = (int *)0x1;" (assignment_expression "ppiVar15[-3] = (int *)0x1" (subscript_expression "ppiVar15[-3]" identifier [ number_literal ]) = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-4] = (int *)0x0;" (assignment_expression "ppiVar15[-4] = (int *)0x0" (subscript_expression "ppiVar15[-4]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-5] = (int *)0x0;" (assignment_expression "ppiVar15[-5] = (int *)0x0" (subscript_expression "ppiVar15[-5]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-6] = (int *)0x0;" (assignment_expression "ppiVar15[-6] = (int *)0x0" (subscript_expression "ppiVar15[-6]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-7] = (int *)0x1;" (assignment_expression "ppiVar15[-7] = (int *)0x1" (subscript_expression "ppiVar15[-7]" identifier [ number_literal ]) = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-8] = (int *)0x0;" (assignment_expression "ppiVar15[-8] = (int *)0x0" (subscript_expression "ppiVar15[-8]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);" (assignment_expression "ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18)" (subscript_expression "ppiVar15[-9]" identifier [ number_literal ]) = (cast_expression "(int *)(uVar1 | uVar4 | uVar9 << 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar1 | uVar4 | uVar9 << 0x18)" ( (binary_expression "uVar1 | uVar4 | uVar9 << 0x18" (binary_expression "uVar1 | uVar4" identifier | identifier) | (binary_expression "uVar9 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "ppiVar15[-10] = ppiVar15[0x1c];" (assignment_expression "ppiVar15[-10] = ppiVar15[0x1c]" (subscript_expression "ppiVar15[-10]" identifier [ number_literal ]) = (subscript_expression "ppiVar15[0x1c]" identifier [ number_literal ])) ;) (expression_statement "ppiVar15[-0xb] = ppiVar15[0x1a];" (assignment_expression "ppiVar15[-0xb] = ppiVar15[0x1a]" (subscript_expression "ppiVar15[-0xb]" identifier [ number_literal ]) = (subscript_expression "ppiVar15[0x1a]" identifier [ number_literal ])) ;) (expression_statement "ppiVar15[-0xc] = ppiVar15[0x18];" (assignment_expression "ppiVar15[-0xc] = ppiVar15[0x18]" (subscript_expression "ppiVar15[-0xc]" identifier [ number_literal ]) = (subscript_expression "ppiVar15[0x18]" identifier [ number_literal ])) ;) (expression_statement "ppiVar15[-0xd] = ppiVar15[0x17];" (assignment_expression "ppiVar15[-0xd] = ppiVar15[0x17]" (subscript_expression "ppiVar15[-0xd]" identifier [ number_literal ]) = (subscript_expression "ppiVar15[0x17]" identifier [ number_literal ])) ;) (expression_statement "ppiVar15[-0xe] = (int *)0x11f402;" (assignment_expression "ppiVar15[-0xe] = (int *)0x11f402" (subscript_expression "ppiVar15[-0xe]" identifier [ number_literal ]) = (cast_expression "(int *)0x11f402" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar8 = FUN_00110ae0();" (assignment_expression "iVar8 = FUN_00110ae0()" identifier = (call_expression "FUN_00110ae0()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppiVar16 = ppiVar15 + -1;" (assignment_expression "ppiVar16 = ppiVar15 + -1" identifier = (binary_expression "ppiVar15 + -1" identifier + number_literal)) ;) (expression_statement "apiStack_60[1] = *ppiVar15;" (assignment_expression "apiStack_60[1] = *ppiVar15" (subscript_expression "apiStack_60[1]" identifier [ number_literal ]) = (pointer_expression "*ppiVar15" * identifier)) ;) (if_statement "if (iVar8 == 0) {\n        return 0;\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) }) (else_clause "else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }" else (compound_statement "{\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }" { (expression_statement "iVar8 = *(int *)(**ppiVar15 + 8);" (assignment_expression "iVar8 = *(int *)(**ppiVar15 + 8)" identifier = (pointer_expression "*(int *)(**ppiVar15 + 8)" * (cast_expression "(int *)(**ppiVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**ppiVar15 + 8)" ( (binary_expression "**ppiVar15 + 8" (pointer_expression "**ppiVar15" * (pointer_expression "*ppiVar15" * identifier)) + number_literal) ))))) ;) (if_statement "if (iVar8 == 0) {\nLAB_0011f67b:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0011f67b:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }" { (labeled_statement "LAB_0011f67b:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;" statement_identifier : comment (expression_statement "*(code **)((int)ppiVar17 + -4) = FUN_0011f680;" (assignment_expression "*(code **)((int)ppiVar17 + -4) = FUN_0011f680" (pointer_expression "*(code **)((int)ppiVar17 + -4)" * (cast_expression "(code **)((int)ppiVar17 + -4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar17 + -4)" ( (binary_expression "(int)ppiVar17 + -4" (cast_expression "(int)ppiVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "FUN_00106b00();" (call_expression "FUN_00106b00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar5 = uVar1 & 0xfffff50f;" (assignment_expression "uVar5 = uVar1 & 0xfffff50f" identifier = (binary_expression "uVar1 & 0xfffff50f" identifier & number_literal)) ;) (if_statement "if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }" if (parenthesized_expression "(*(char *)(iVar8 + 0x318d) != '\0')" ( (binary_expression "*(char *)(iVar8 + 0x318d) != '\0'" (pointer_expression "*(char *)(iVar8 + 0x318d)" * (cast_expression "(char *)(iVar8 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x318d)" ( (binary_expression "iVar8 + 0x318d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar5 = uVar1 & 0xfffff58f;\n      }" { (expression_statement "uVar5 = uVar1 & 0xfffff58f;" (assignment_expression "uVar5 = uVar1 & 0xfffff58f" identifier = (binary_expression "uVar1 & 0xfffff58f" identifier & number_literal)) ;) })) (expression_statement "puVar2 = (undefined4 *)piVar13[6];" (assignment_expression "puVar2 = (undefined4 *)piVar13[6]" identifier = (cast_expression "(undefined4 *)piVar13[6]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar13[6]" identifier [ number_literal ]))) ;) (expression_statement "*ppiVar15 = *ppiVar15;" (assignment_expression "*ppiVar15 = *ppiVar15" (pointer_expression "*ppiVar15" * identifier) = (pointer_expression "*ppiVar15" * identifier)) ;) (expression_statement "ppiVar15[-2] = (int *)local_34;" (assignment_expression "ppiVar15[-2] = (int *)local_34" (subscript_expression "ppiVar15[-2]" identifier [ number_literal ]) = (cast_expression "(int *)local_34" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar15[-3] = (int *)0x1;" (assignment_expression "ppiVar15[-3] = (int *)0x1" (subscript_expression "ppiVar15[-3]" identifier [ number_literal ]) = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-4] = (int *)*puVar2;" (assignment_expression "ppiVar15[-4] = (int *)*puVar2" (subscript_expression "ppiVar15[-4]" identifier [ number_literal ]) = (cast_expression "(int *)*puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier))) ;) (expression_statement "ppiVar15[-5] = ppiVar15[0x17] + 2;" (assignment_expression "ppiVar15[-5] = ppiVar15[0x17] + 2" (subscript_expression "ppiVar15[-5]" identifier [ number_literal ]) = (binary_expression "ppiVar15[0x17] + 2" (subscript_expression "ppiVar15[0x17]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "ppiVar15[-6] = (int *)0x11f0ee;" (assignment_expression "ppiVar15[-6] = (int *)0x11f0ee" (subscript_expression "ppiVar15[-6]" identifier [ number_literal ]) = (cast_expression "(int *)0x11f0ee" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar7 = FUN_001e3f80();" (assignment_expression "uVar7 = FUN_001e3f80()" identifier = (call_expression "FUN_001e3f80()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppiVar15[-2] = (int *)0x0;" (assignment_expression "ppiVar15[-2] = (int *)0x0" (subscript_expression "ppiVar15[-2]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-3] = (int *)0x0;" (assignment_expression "ppiVar15[-3] = (int *)0x0" (subscript_expression "ppiVar15[-3]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-4] = (int *)0x0;" (assignment_expression "ppiVar15[-4] = (int *)0x0" (subscript_expression "ppiVar15[-4]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);" (assignment_expression "ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18)" (subscript_expression "ppiVar15[-5]" identifier [ number_literal ]) = (cast_expression "(int *)(uVar5 | uVar4 | uVar9 << 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar5 | uVar4 | uVar9 << 0x18)" ( (binary_expression "uVar5 | uVar4 | uVar9 << 0x18" (binary_expression "uVar5 | uVar4" identifier | identifier) | (binary_expression "uVar9 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "ppiVar15[-6] = ppiVar15[0x1c];" (assignment_expression "ppiVar15[-6] = ppiVar15[0x1c]" (subscript_expression "ppiVar15[-6]" identifier [ number_literal ]) = (subscript_expression "ppiVar15[0x1c]" identifier [ number_literal ])) ;) (expression_statement "ppiVar15[-7] = ppiVar15[9];" (assignment_expression "ppiVar15[-7] = ppiVar15[9]" (subscript_expression "ppiVar15[-7]" identifier [ number_literal ]) = (subscript_expression "ppiVar15[9]" identifier [ number_literal ])) ;) (expression_statement "ppiVar15[-8] = (int *)uVar7;" (assignment_expression "ppiVar15[-8] = (int *)uVar7" (subscript_expression "ppiVar15[-8]" identifier [ number_literal ]) = (cast_expression "(int *)uVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar15[-9] = ppiVar15[0x17];" (assignment_expression "ppiVar15[-9] = ppiVar15[0x17]" (subscript_expression "ppiVar15[-9]" identifier [ number_literal ]) = (subscript_expression "ppiVar15[0x17]" identifier [ number_literal ])) ;) (expression_statement "ppiVar15[-10] = (int *)0x11f10c;" (assignment_expression "ppiVar15[-10] = (int *)0x11f10c" (subscript_expression "ppiVar15[-10]" identifier [ number_literal ]) = (cast_expression "(int *)0x11f10c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar8 = FUN_00110850();" (assignment_expression "iVar8 = FUN_00110850()" identifier = (call_expression "FUN_00110850()" identifier (argument_list "()" ( )))) ;) (expression_statement "apiStack_60[1] = *ppiVar15;" (assignment_expression "apiStack_60[1] = *ppiVar15" (subscript_expression "apiStack_60[1]" identifier [ number_literal ]) = (pointer_expression "*ppiVar15" * identifier)) ;) (expression_statement "ppiVar16 = ppiVar15 + -1;" (assignment_expression "ppiVar16 = ppiVar15 + -1" identifier = (binary_expression "ppiVar15 + -1" identifier + number_literal)) ;) (if_statement "if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }" if (parenthesized_expression "(-1 < (char)*(byte *)(iVar8 + 0x92))" ( (binary_expression "-1 < (char)*(byte *)(iVar8 + 0x92)" number_literal < (cast_expression "(char)*(byte *)(iVar8 + 0x92)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)(iVar8 + 0x92)" * (cast_expression "(byte *)(iVar8 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x92)" ( (binary_expression "iVar8 + 0x92" identifier + number_literal) )))))) )) (compound_statement "{\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }" { (expression_statement "*(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;" (assignment_expression "*(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar8 + 0x92)" * (cast_expression "(byte *)(iVar8 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x92)" ( (binary_expression "iVar8 + 0x92" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar8 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar8 + 0x92)" * (cast_expression "(byte *)(iVar8 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x92)" ( (binary_expression "iVar8 + 0x92" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "iVar12 = piVar13[6];" (assignment_expression "iVar12 = piVar13[6]" identifier = (subscript_expression "piVar13[6]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = *(undefined4 *)(iVar12 + 8);" (assignment_expression "uVar7 = *(undefined4 *)(iVar12 + 8)" identifier = (pointer_expression "*(undefined4 *)(iVar12 + 8)" * (cast_expression "(undefined4 *)(iVar12 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);" (assignment_expression "*(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4)" (pointer_expression "*(undefined4 *)(iVar8 + 0x9c)" * (cast_expression "(undefined4 *)(iVar8 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x9c)" ( (binary_expression "iVar8 + 0x9c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar12 + 4)" * (cast_expression "(undefined4 *)(iVar12 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 4)" ( (binary_expression "iVar12 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(undefined4 *)(iVar12 + 0xc);" (assignment_expression "uVar3 = *(undefined4 *)(iVar12 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(iVar12 + 0xc)" * (cast_expression "(undefined4 *)(iVar12 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar8 + 0xa0) = uVar7;" (assignment_expression "*(undefined4 *)(iVar8 + 0xa0) = uVar7" (pointer_expression "*(undefined4 *)(iVar8 + 0xa0)" * (cast_expression "(undefined4 *)(iVar8 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xa0)" ( (binary_expression "iVar8 + 0xa0" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar7 = *(undefined4 *)(iVar12 + 0x10);" (assignment_expression "uVar7 = *(undefined4 *)(iVar12 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(iVar12 + 0x10)" * (cast_expression "(undefined4 *)(iVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x10)" ( (binary_expression "iVar12 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar8 + 0xa4) = uVar3;" (assignment_expression "*(undefined4 *)(iVar8 + 0xa4) = uVar3" (pointer_expression "*(undefined4 *)(iVar8 + 0xa4)" * (cast_expression "(undefined4 *)(iVar8 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xa4)" ( (binary_expression "iVar8 + 0xa4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar8 + 0xa8) = uVar7;" (assignment_expression "*(undefined4 *)(iVar8 + 0xa8) = uVar7" (pointer_expression "*(undefined4 *)(iVar8 + 0xa8)" * (cast_expression "(undefined4 *)(iVar8 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xa8)" ( (binary_expression "iVar8 + 0xa8" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppiVar16 = ppiVar15 + -1;" (assignment_expression "ppiVar16 = ppiVar15 + -1" identifier = (binary_expression "ppiVar15 + -1" identifier + number_literal)) ;) })) }))) }) (else_clause "else {\n    uVar1 = *(uint *)(*param_5 + 8);\n    uVar4 = (uVar1 & 0xff0000) >> 8;\n    if ((uVar4 & 0x200) == 0) goto LAB_0011f049;\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);\n    ppiVar16 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }" else (compound_statement "{\n    uVar1 = *(uint *)(*param_5 + 8);\n    uVar4 = (uVar1 & 0xff0000) >> 8;\n    if ((uVar4 & 0x200) == 0) goto LAB_0011f049;\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);\n    ppiVar16 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }" { (expression_statement "uVar1 = *(uint *)(*param_5 + 8);" (assignment_expression "uVar1 = *(uint *)(*param_5 + 8)" identifier = (pointer_expression "*(uint *)(*param_5 + 8)" * (cast_expression "(uint *)(*param_5 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_5 + 8)" ( (binary_expression "*param_5 + 8" (pointer_expression "*param_5" * identifier) + number_literal) ))))) ;) (expression_statement "uVar4 = (uVar1 & 0xff0000) >> 8;" (assignment_expression "uVar4 = (uVar1 & 0xff0000) >> 8" identifier = (binary_expression "(uVar1 & 0xff0000) >> 8" (parenthesized_expression "(uVar1 & 0xff0000)" ( (binary_expression "uVar1 & 0xff0000" identifier & number_literal) )) >> number_literal)) ;) (if_statement "if ((uVar4 & 0x200) == 0) goto LAB_0011f049;" if (parenthesized_expression "((uVar4 & 0x200) == 0)" ( (binary_expression "(uVar4 & 0x200) == 0" (parenthesized_expression "(uVar4 & 0x200)" ( (binary_expression "uVar4 & 0x200" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0011f049;" goto statement_identifier ;)) (expression_statement "apiStack_60[0] = (int *)0x0;" (assignment_expression "apiStack_60[0] = (int *)0x0" (subscript_expression "apiStack_60[0]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "apiStack_60[2] = &DAT_004144e8;" (assignment_expression "apiStack_60[2] = &DAT_004144e8" (subscript_expression "apiStack_60[2]" identifier [ number_literal ]) = (pointer_expression "&DAT_004144e8" & identifier)) ;) (expression_statement "uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);" (assignment_expression "uVar7 = FUN_001e3f80(param_1 + 8,param_4,1)" identifier = (call_expression "FUN_001e3f80(param_1 + 8,param_4,1)" identifier (argument_list "(param_1 + 8,param_4,1)" ( (binary_expression "param_1 + 8" identifier + number_literal) , identifier , number_literal )))) ;) (expression_statement "iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);" (assignment_expression "iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0)" identifier = (call_expression "FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0)" identifier (argument_list "(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0)" ( identifier , identifier , identifier , (binary_expression "uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18" (binary_expression "uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8" (binary_expression "uVar1 >> 0x18 | uVar4 & 0xfffff7ff" (binary_expression "uVar1 >> 0x18" identifier >> number_literal) | (binary_expression "uVar4 & 0xfffff7ff" identifier & number_literal)) | (binary_expression "(uVar1 & 0xff00) << 8" (parenthesized_expression "(uVar1 & 0xff00)" ( (binary_expression "uVar1 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar1 << 0x18" identifier << number_literal)) , number_literal , number_literal , number_literal )))) ;) (expression_statement "ppiVar16 = apiStack_60 + 1;" (assignment_expression "ppiVar16 = apiStack_60 + 1" identifier = (binary_expression "apiStack_60 + 1" identifier + number_literal)) ;) (expression_statement "apiStack_60[1] = apiStack_60[2];" (assignment_expression "apiStack_60[1] = apiStack_60[2]" (subscript_expression "apiStack_60[1]" identifier [ number_literal ]) = (subscript_expression "apiStack_60[2]" identifier [ number_literal ])) ;) }))) (labeled_statement "LAB_0011f150:\n  piVar13 = (int *)ppiVar16[0x18][1];" statement_identifier : (expression_statement "piVar13 = (int *)ppiVar16[0x18][1];" (assignment_expression "piVar13 = (int *)ppiVar16[0x18][1]" identifier = (cast_expression "(int *)ppiVar16[0x18][1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x18][1]" (subscript_expression "ppiVar16[0x18]" identifier [ number_literal ]) [ number_literal ]))) ;)) (expression_statement "piVar14 = *(int **)(*apiStack_60[1] + 8);" (assignment_expression "piVar14 = *(int **)(*apiStack_60[1] + 8)" identifier = (pointer_expression "*(int **)(*apiStack_60[1] + 8)" * (cast_expression "(int **)(*apiStack_60[1] + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*apiStack_60[1] + 8)" ( (binary_expression "*apiStack_60[1] + 8" (pointer_expression "*apiStack_60[1]" * (subscript_expression "apiStack_60[1]" identifier [ number_literal ])) + number_literal) ))))) ;) (expression_statement "ppiVar16[1] = piVar13;" (assignment_expression "ppiVar16[1] = piVar13" (subscript_expression "ppiVar16[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar11 = *(byte *)(piVar13 + 0x2b);" (assignment_expression "bVar11 = *(byte *)(piVar13 + 0x2b)" identifier = (pointer_expression "*(byte *)(piVar13 + 0x2b)" * (cast_expression "(byte *)(piVar13 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar13 + 0x2b)" ( (binary_expression "piVar13 + 0x2b" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = (uint)bVar11;" (assignment_expression "uVar9 = (uint)bVar11" identifier = (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (bVar11 != 0) {\n    if (piVar14 == (int *)0x0) goto LAB_0011f5b8;\n    goto LAB_0011f282;\n  }" if (parenthesized_expression "(bVar11 != 0)" ( (binary_expression "bVar11 != 0" identifier != number_literal) )) (compound_statement "{\n    if (piVar14 == (int *)0x0) goto LAB_0011f5b8;\n    goto LAB_0011f282;\n  }" { (if_statement "if (piVar14 == (int *)0x0) goto LAB_0011f5b8;" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0011f5b8;" goto statement_identifier ;)) (goto_statement "goto LAB_0011f282;" goto statement_identifier ;) })) (if_statement "if (piVar14 == (int *)0x0) {\nLAB_0011f5b8:\n    ppiVar16[0xffffffff] = (int *)uVar9;\n    ppiVar16[0xfffffffe] = (int *)"options";\n    ppiVar16[0xfffffffd] = (int *)0x5c;\n    ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n    ppiVar16[0xfffffffb] = (int *)0x11f5ce;\n    FUN_000da200();\n  }" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0011f5b8:\n    ppiVar16[0xffffffff] = (int *)uVar9;\n    ppiVar16[0xfffffffe] = (int *)"options";\n    ppiVar16[0xfffffffd] = (int *)0x5c;\n    ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n    ppiVar16[0xfffffffb] = (int *)0x11f5ce;\n    FUN_000da200();\n  }" { (labeled_statement "LAB_0011f5b8:\n    ppiVar16[0xffffffff] = (int *)uVar9;" statement_identifier : (expression_statement "ppiVar16[0xffffffff] = (int *)uVar9;" (assignment_expression "ppiVar16[0xffffffff] = (int *)uVar9" (subscript_expression "ppiVar16[0xffffffff]" identifier [ number_literal ]) = (cast_expression "(int *)uVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "ppiVar16[0xfffffffe] = (int *)"options";" (assignment_expression "ppiVar16[0xfffffffe] = (int *)"options"" (subscript_expression "ppiVar16[0xfffffffe]" identifier [ number_literal ]) = (cast_expression "(int *)"options"" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (string_literal ""options"" " string_content "))) ;) (expression_statement "ppiVar16[0xfffffffd] = (int *)0x5c;" (assignment_expression "ppiVar16[0xfffffffd] = (int *)0x5c" (subscript_expression "ppiVar16[0xfffffffd]" identifier [ number_literal ]) = (cast_expression "(int *)0x5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h";" (assignment_expression "ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h"" (subscript_expression "ppiVar16[0xfffffffc]" identifier [ number_literal ]) = (cast_expression "(int *)"../../gold/parameters.h"" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (string_literal ""../../gold/parameters.h"" " string_content "))) ;) comment (expression_statement "ppiVar16[0xfffffffb] = (int *)0x11f5ce;" (assignment_expression "ppiVar16[0xfffffffb] = (int *)0x11f5ce" (subscript_expression "ppiVar16[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(int *)0x11f5ce" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" identifier = false) ;) (expression_statement "bVar25 = *(char *)((int)piVar14 + 0x318d) == '\0';" (assignment_expression "bVar25 = *(char *)((int)piVar14 + 0x318d) == '\0'" identifier = (binary_expression "*(char *)((int)piVar14 + 0x318d) == '\0'" (pointer_expression "*(char *)((int)piVar14 + 0x318d)" * (cast_expression "(char *)((int)piVar14 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x318d)" ( (binary_expression "(int)piVar14 + 0x318d" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar25) goto LAB_0011f4a0;" if (parenthesized_expression "(!bVar25)" ( (unary_expression "!bVar25" ! identifier) )) (goto_statement "goto LAB_0011f4a0;" goto statement_identifier ;)) (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)".ctors.";" (assignment_expression "pbVar18 = (byte *)".ctors."" identifier = (cast_expression "(byte *)".ctors."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".ctors."" " string_content "))) ;) (expression_statement "pbVar20 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar20 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n    if (iVar12 == 0) break;\n    iVar12 = iVar12 + -1;\n    bVar22 = *pbVar18 < *pbVar20;\n    bVar25 = *pbVar18 == *pbVar20;\n    pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n  } while (bVar25);" do (compound_statement "{\n    if (iVar12 == 0) break;\n    iVar12 = iVar12 + -1;\n    bVar22 = *pbVar18 < *pbVar20;\n    bVar25 = *pbVar18 == *pbVar20;\n    pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n  }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar22 = *pbVar18 < *pbVar20;" (assignment_expression "bVar22 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar25 = *pbVar18 == *pbVar20;" (assignment_expression "bVar25 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar25)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar22 = (!bVar22 && !bVar25) == bVar22;" (assignment_expression "bVar22 = (!bVar22 && !bVar25) == bVar22" identifier = (binary_expression "(!bVar22 && !bVar25) == bVar22" (parenthesized_expression "(!bVar22 && !bVar25)" ( (binary_expression "!bVar22 && !bVar25" (unary_expression "!bVar22" ! identifier) && (unary_expression "!bVar25" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar22) {\nLAB_0011f238:\n    *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n    bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n    uVar9 = (uint)bVar11;\n    if (*(char *)((int)piVar14 + 0x3ced) == '\0') {\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }\n    if (bVar11 != 0) goto LAB_0011f282;\nLAB_0011f25d:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\n    if (*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0') goto LAB_0011f4b4;\n    if (cVar6 == '\0') {\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }\n  }\n  else {\n    iVar12 = 7;\n    pbVar18 = (byte *)".dtors.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar25 = false;\n    bVar22 = (!bVar23 && !bVar22) == bVar23;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".init_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar22 = (!bVar25 && !bVar22) == bVar25;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".fini_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;\n    bVar22 = false;\n    bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';\n    if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }\nLAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;\nLAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\nLAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }\n  }" if (parenthesized_expression "(bVar22)" ( identifier )) (compound_statement "{\nLAB_0011f238:\n    *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n    bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n    uVar9 = (uint)bVar11;\n    if (*(char *)((int)piVar14 + 0x3ced) == '\0') {\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }\n    if (bVar11 != 0) goto LAB_0011f282;\nLAB_0011f25d:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\n    if (*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0') goto LAB_0011f4b4;\n    if (cVar6 == '\0') {\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }\n  }" { (labeled_statement "LAB_0011f238:\n    *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;" statement_identifier : (expression_statement "*(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;" (assignment_expression "*(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8" (pointer_expression "*(byte *)(iVar8 + 0x91)" * (cast_expression "(byte *)(iVar8 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x91)" ( (binary_expression "iVar8 + 0x91" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar8 + 0x91) | 8" (pointer_expression "*(byte *)(iVar8 + 0x91)" * (cast_expression "(byte *)(iVar8 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x91)" ( (binary_expression "iVar8 + 0x91" identifier + number_literal) )))) | number_literal)) ;)) (expression_statement "bVar11 = *(byte *)(ppiVar16[1] + 0x2b);" (assignment_expression "bVar11 = *(byte *)(ppiVar16[1] + 0x2b)" identifier = (pointer_expression "*(byte *)(ppiVar16[1] + 0x2b)" * (cast_expression "(byte *)(ppiVar16[1] + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar16[1] + 0x2b)" ( (binary_expression "ppiVar16[1] + 0x2b" (subscript_expression "ppiVar16[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "uVar9 = (uint)bVar11;" (assignment_expression "uVar9 = (uint)bVar11" identifier = (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (*(char *)((int)piVar14 + 0x3ced) == '\0') {\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }" if (parenthesized_expression "(*(char *)((int)piVar14 + 0x3ced) == '\0')" ( (binary_expression "*(char *)((int)piVar14 + 0x3ced) == '\0'" (pointer_expression "*(char *)((int)piVar14 + 0x3ced)" * (cast_expression "(char *)((int)piVar14 + 0x3ced)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x3ced)" ( (binary_expression "(int)piVar14 + 0x3ced" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }" { (labeled_statement "LAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;" statement_identifier : (if_statement "if (bVar11 != 0) goto LAB_0011f282;" if (parenthesized_expression "(bVar11 != 0)" ( (binary_expression "bVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011f282;" goto statement_identifier ;))) (goto_statement "goto LAB_0011f4ad;" goto statement_identifier ;) })) (if_statement "if (bVar11 != 0) goto LAB_0011f282;" if (parenthesized_expression "(bVar11 != 0)" ( (binary_expression "bVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011f282;" goto statement_identifier ;)) (labeled_statement "LAB_0011f25d:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);" statement_identifier : (expression_statement "cVar6 = *(char *)((int)piVar14 + 0x318d);" (assignment_expression "cVar6 = *(char *)((int)piVar14 + 0x318d)" identifier = (pointer_expression "*(char *)((int)piVar14 + 0x318d)" * (cast_expression "(char *)((int)piVar14 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x318d)" ( (binary_expression "(int)piVar14 + 0x318d" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (if_statement "if (*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0') goto LAB_0011f4b4;" if (parenthesized_expression "(*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0')" ( (binary_expression "*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0'" (pointer_expression "*(char *)((int)ppiVar16[0x18] + 0x1cd)" * (cast_expression "(char *)((int)ppiVar16[0x18] + 0x1cd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16[0x18] + 0x1cd)" ( (binary_expression "(int)ppiVar16[0x18] + 0x1cd" (cast_expression "(int)ppiVar16[0x18]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppiVar16[0x18]" identifier [ number_literal ])) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0011f4b4;" goto statement_identifier ;)) (if_statement "if (cVar6 == '\0') {\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }" { (expression_statement "ppiVar16[3] = piVar14;" (assignment_expression "ppiVar16[3] = piVar14" (subscript_expression "ppiVar16[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppuVar19 = &PTR_s__text_unlikely_00407080;" (assignment_expression "ppuVar19 = &PTR_s__text_unlikely_00407080" identifier = (pointer_expression "&PTR_s__text_unlikely_00407080" & identifier)) ;) (expression_statement "ppiVar16[2] = (int *)&PTR_s_aranges_00407090;" (assignment_expression "ppiVar16[2] = (int *)&PTR_s_aranges_00407090" (subscript_expression "ppiVar16[2]" identifier [ number_literal ]) = (cast_expression "(int *)&PTR_s_aranges_00407090" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&PTR_s_aranges_00407090" & identifier))) ;) (expression_statement "pcVar21 = ".text.unlikely";" (assignment_expression "pcVar21 = ".text.unlikely"" identifier = (string_literal "".text.unlikely"" " string_content ")) ;) (expression_statement "sVar10 = 0xe;" (assignment_expression "sVar10 = 0xe" identifier = number_literal) ;) (while_statement "while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }" { (expression_statement "ppiVar16[0xfffffffe] = (int *)sVar10;" (assignment_expression "ppiVar16[0xfffffffe] = (int *)sVar10" (subscript_expression "ppiVar16[0xfffffffe]" identifier [ number_literal ]) = (cast_expression "(int *)sVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar16[0xfffffffd] = ppiVar16[0x1b];" (assignment_expression "ppiVar16[0xfffffffd] = ppiVar16[0x1b]" (subscript_expression "ppiVar16[0xfffffffd]" identifier [ number_literal ]) = (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ])) ;) (expression_statement "ppiVar16[0xfffffffc] = (int *)pcVar21;" (assignment_expression "ppiVar16[0xfffffffc] = (int *)pcVar21" (subscript_expression "ppiVar16[0xfffffffc]" identifier [ number_literal ]) = (cast_expression "(int *)pcVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar16[0xfffffffb] = (int *)0x11f62d;" (assignment_expression "ppiVar16[0xfffffffb] = (int *)0x11f62d" (subscript_expression "ppiVar16[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(int *)0x11f62d" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);" (assignment_expression "iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe])" identifier = (call_expression "strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe])" identifier (argument_list "((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe])" ( (cast_expression "(char *)ppiVar16[0xfffffffc]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0xfffffffc]" identifier [ number_literal ])) , (cast_expression "(char *)ppiVar16[0xfffffffd]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0xfffffffd]" identifier [ number_literal ])) , (cast_expression "(size_t)ppiVar16[0xfffffffe]" ( (type_descriptor "size_t" primitive_type) ) (subscript_expression "ppiVar16[0xfffffffe]" identifier [ number_literal ])) )))) ;) (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "ppuVar19 = ppuVar19 + 1;" (assignment_expression "ppuVar19 = ppuVar19 + 1" identifier = (binary_expression "ppuVar19 + 1" identifier + number_literal)) ;) (if_statement "if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;" if (parenthesized_expression "((undefined **)ppiVar16[2] == ppuVar19)" ( (binary_expression "(undefined **)ppiVar16[2] == ppuVar19" (cast_expression "(undefined **)ppiVar16[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppiVar16[2]" identifier [ number_literal ])) == identifier) )) (goto_statement "goto LAB_0011f4bc;" goto statement_identifier ;)) (expression_statement "pcVar21 = *ppuVar19;" (assignment_expression "pcVar21 = *ppuVar19" identifier = (pointer_expression "*ppuVar19" * identifier)) ;) (expression_statement "ppiVar16[0xfffffffc] = (int *)pcVar21;" (assignment_expression "ppiVar16[0xfffffffc] = (int *)pcVar21" (subscript_expression "ppiVar16[0xfffffffc]" identifier [ number_literal ]) = (cast_expression "(int *)pcVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar16[0xfffffffb] = (int *)0x11f64c;" (assignment_expression "ppiVar16[0xfffffffb] = (int *)0x11f64c" (subscript_expression "ppiVar16[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(int *)0x11f64c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = strlen((char *)ppiVar16[0xfffffffc]);" (assignment_expression "sVar10 = strlen((char *)ppiVar16[0xfffffffc])" identifier = (call_expression "strlen((char *)ppiVar16[0xfffffffc])" identifier (argument_list "((char *)ppiVar16[0xfffffffc])" ( (cast_expression "(char *)ppiVar16[0xfffffffc]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0xfffffffc]" identifier [ number_literal ])) )))) ;) })) (expression_statement "piVar14 = ppiVar16[3];" (assignment_expression "piVar14 = ppiVar16[3]" identifier = (subscript_expression "ppiVar16[3]" identifier [ number_literal ])) ;) (expression_statement "*(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;" (assignment_expression "*(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8" (pointer_expression "*(byte *)(iVar8 + 0x91)" * (cast_expression "(byte *)(iVar8 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x91)" ( (binary_expression "iVar8 + 0x91" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar8 + 0x91) | 8" (pointer_expression "*(byte *)(iVar8 + 0x91)" * (cast_expression "(byte *)(iVar8 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x91)" ( (binary_expression "iVar8 + 0x91" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "bVar11 = *(byte *)(ppiVar16[1] + 0x2b);" (assignment_expression "bVar11 = *(byte *)(ppiVar16[1] + 0x2b)" identifier = (pointer_expression "*(byte *)(ppiVar16[1] + 0x2b)" * (cast_expression "(byte *)(ppiVar16[1] + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar16[1] + 0x2b)" ( (binary_expression "ppiVar16[1] + 0x2b" (subscript_expression "ppiVar16[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "uVar9 = (uint)bVar11;" (assignment_expression "uVar9 = (uint)bVar11" identifier = (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_0011f5e9;" goto statement_identifier ;) })) }) (else_clause "else {\n    iVar12 = 7;\n    pbVar18 = (byte *)".dtors.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar25 = false;\n    bVar22 = (!bVar23 && !bVar22) == bVar23;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".init_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar22 = (!bVar25 && !bVar22) == bVar25;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".fini_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;\n    bVar22 = false;\n    bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';\n    if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }\nLAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;\nLAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\nLAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }\n  }" else (compound_statement "{\n    iVar12 = 7;\n    pbVar18 = (byte *)".dtors.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar25 = false;\n    bVar22 = (!bVar23 && !bVar22) == bVar23;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".init_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar22 = (!bVar25 && !bVar22) == bVar25;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".fini_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;\n    bVar22 = false;\n    bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';\n    if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }\nLAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;\nLAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\nLAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }\n  }" { (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)".dtors.";" (assignment_expression "pbVar18 = (byte *)".dtors."" identifier = (cast_expression "(byte *)".dtors."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".dtors."" " string_content "))) ;) (expression_statement "pbVar20 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar20 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);" do (compound_statement "{\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar18 < *pbVar20;" (assignment_expression "bVar23 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar22 = (!bVar23 && !bVar22) == bVar23;" (assignment_expression "bVar22 = (!bVar23 && !bVar22) == bVar23" identifier = (binary_expression "(!bVar23 && !bVar22) == bVar23" (parenthesized_expression "(!bVar23 && !bVar22)" ( (binary_expression "!bVar23 && !bVar22" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar22) goto LAB_0011f238;" if (parenthesized_expression "(bVar22)" ( identifier )) (goto_statement "goto LAB_0011f238;" goto statement_identifier ;)) (expression_statement "iVar12 = 0xc;" (assignment_expression "iVar12 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)".init_array.";" (assignment_expression "pbVar18 = (byte *)".init_array."" identifier = (cast_expression "(byte *)".init_array."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".init_array."" " string_content "))) ;) (expression_statement "pbVar20 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar20 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);" do (compound_statement "{\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar18 < *pbVar20;" (assignment_expression "bVar25 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar22 = (!bVar25 && !bVar22) == bVar25;" (assignment_expression "bVar22 = (!bVar25 && !bVar22) == bVar25" identifier = (binary_expression "(!bVar25 && !bVar22) == bVar25" (parenthesized_expression "(!bVar25 && !bVar22)" ( (binary_expression "!bVar25 && !bVar22" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar22) goto LAB_0011f238;" if (parenthesized_expression "(bVar22)" ( identifier )) (goto_statement "goto LAB_0011f238;" goto statement_identifier ;)) (expression_statement "iVar12 = 0xc;" (assignment_expression "iVar12 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)".fini_array.";" (assignment_expression "pbVar18 = (byte *)".fini_array."" identifier = (cast_expression "(byte *)".fini_array."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".fini_array."" " string_content "))) ;) (expression_statement "pbVar20 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar20 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);" do (compound_statement "{\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar18 < *pbVar20;" (assignment_expression "bVar23 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (if_statement "if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;" if (parenthesized_expression "((!bVar23 && !bVar22) == bVar23)" ( (binary_expression "(!bVar23 && !bVar22) == bVar23" (parenthesized_expression "(!bVar23 && !bVar22)" ( (binary_expression "!bVar23 && !bVar22" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier) )) (goto_statement "goto LAB_0011f238;" goto statement_identifier ;)) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" identifier = false) ;) (expression_statement "bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';" (assignment_expression "bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0'" identifier = (binary_expression "*(char *)((int)piVar14 + 0xad5) == '\0'" (pointer_expression "*(char *)((int)piVar14 + 0xad5)" * (cast_expression "(char *)((int)piVar14 + 0xad5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0xad5)" ( (binary_expression "(int)piVar14 + 0xad5" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }" if (parenthesized_expression "(!bVar25)" ( (unary_expression "!bVar25" ! identifier) )) (compound_statement "{\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }" { (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (expression_statement "pbVar20 = (byte *)".ctors";" (assignment_expression "pbVar20 = (byte *)".ctors"" identifier = (cast_expression "(byte *)".ctors"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".ctors"" " string_content "))) ;) (do_statement "do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);" do (compound_statement "{\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar22 = *pbVar18 < *pbVar20;" (assignment_expression "bVar22 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar25 = *pbVar18 == *pbVar20;" (assignment_expression "bVar25 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar25)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar22 = (!bVar22 && !bVar25) == bVar22;" (assignment_expression "bVar22 = (!bVar22 && !bVar25) == bVar22" identifier = (binary_expression "(!bVar22 && !bVar25) == bVar22" (parenthesized_expression "(!bVar22 && !bVar25)" ( (binary_expression "!bVar22 && !bVar25" (unary_expression "!bVar22" ! identifier) && (unary_expression "!bVar25" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }" if (parenthesized_expression "(!bVar22)" ( (unary_expression "!bVar22" ! identifier) )) (compound_statement "{\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }" { (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (expression_statement "pbVar20 = (byte *)".dtors";" (assignment_expression "pbVar20 = (byte *)".dtors"" identifier = (cast_expression "(byte *)".dtors"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".dtors"" " string_content "))) ;) (do_statement "do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);" do (compound_statement "{\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar18 < *pbVar20;" (assignment_expression "bVar23 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (if_statement "if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;" if (parenthesized_expression "((!bVar23 && !bVar22) != bVar23)" ( (binary_expression "(!bVar23 && !bVar22) != bVar23" (parenthesized_expression "(!bVar23 && !bVar22)" ( (binary_expression "!bVar23 && !bVar22" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_0011f4a0;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0011f238;" goto statement_identifier ;) })) (labeled_statement "LAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;" statement_identifier : (if_statement "if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;" if (parenthesized_expression "(*(char *)((int)piVar14 + 0x3ced) != '\0')" ( (binary_expression "*(char *)((int)piVar14 + 0x3ced) != '\0'" (pointer_expression "*(char *)((int)piVar14 + 0x3ced)" * (cast_expression "(char *)((int)piVar14 + 0x3ced)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x3ced)" ( (binary_expression "(int)piVar14 + 0x3ced" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0011f25d;" goto statement_identifier ;))) (labeled_statement "LAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);" statement_identifier : (expression_statement "cVar6 = *(char *)((int)piVar14 + 0x318d);" (assignment_expression "cVar6 = *(char *)((int)piVar14 + 0x318d)" identifier = (pointer_expression "*(char *)((int)piVar14 + 0x318d)" * (cast_expression "(char *)((int)piVar14 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x318d)" ( (binary_expression "(int)piVar14 + 0x318d" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (labeled_statement "LAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }" statement_identifier : (if_statement "if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }" { (labeled_statement "LAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);" statement_identifier : (expression_statement "uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);" (assignment_expression "uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14)" identifier = (pointer_expression "*(uint *)(*ppiVar16[0x1c] + 0x14)" * (cast_expression "(uint *)(*ppiVar16[0x1c] + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppiVar16[0x1c] + 0x14)" ( (binary_expression "*ppiVar16[0x1c] + 0x14" (pointer_expression "*ppiVar16[0x1c]" * (subscript_expression "ppiVar16[0x1c]" identifier [ number_literal ])) + number_literal) ))))) ;)) (expression_statement "uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "bVar22 = uVar9 < 4;" (assignment_expression "bVar22 = uVar9 < 4" identifier = (binary_expression "uVar9 < 4" identifier < number_literal)) ;) (expression_statement "bVar25 = uVar9 == 4;" (assignment_expression "bVar25 = uVar9 == 4" identifier = (binary_expression "uVar9 == 4" identifier == number_literal)) ;) (if_statement "if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }" if (parenthesized_expression "(4 < uVar9)" ( (binary_expression "4 < uVar9" number_literal < identifier) )) (compound_statement "{\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }" { (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (expression_statement "pbVar20 = (byte *)".ctors";" (assignment_expression "pbVar20 = (byte *)".ctors"" identifier = (cast_expression "(byte *)".ctors"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".ctors"" " string_content "))) ;) (do_statement "do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);" do (compound_statement "{\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar22 = *pbVar18 < *pbVar20;" (assignment_expression "bVar22 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar25 = *pbVar18 == *pbVar20;" (assignment_expression "bVar25 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar25)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar22 = (!bVar22 && !bVar25) == bVar22;" (assignment_expression "bVar22 = (!bVar22 && !bVar25) == bVar22" identifier = (binary_expression "(!bVar22 && !bVar25) == bVar22" (parenthesized_expression "(!bVar22 && !bVar25)" ( (binary_expression "!bVar22 && !bVar25" (unary_expression "!bVar22" ! identifier) && (unary_expression "!bVar25" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }" if (parenthesized_expression "(bVar22)" ( identifier )) (compound_statement "{\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }" { (labeled_statement "LAB_0011f504:\n          bVar25 = false;" statement_identifier : (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;)) (expression_statement "iVar12 = 0xc;" (assignment_expression "iVar12 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar18 = *(byte **)(iVar8 + 0x20);" (assignment_expression "pbVar18 = *(byte **)(iVar8 + 0x20)" identifier = (pointer_expression "*(byte **)(iVar8 + 0x20)" * (cast_expression "(byte **)(iVar8 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x20)" ( (binary_expression "iVar8 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pbVar20 = (byte *)".init_array";" (assignment_expression "pbVar20 = (byte *)".init_array"" identifier = (cast_expression "(byte *)".init_array"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".init_array"" " string_content "))) ;) (do_statement "do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);" do (compound_statement "{\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar18 < *pbVar20;" (assignment_expression "bVar25 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (expression_statement "bVar22 = (!bVar25 && !bVar22) == bVar25;" (assignment_expression "bVar22 = (!bVar25 && !bVar22) == bVar25" identifier = (binary_expression "(!bVar25 && !bVar22) == bVar25" (parenthesized_expression "(!bVar25 && !bVar22)" ( (binary_expression "!bVar25 && !bVar22" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar22) goto LAB_0011f570;" if (parenthesized_expression "(!bVar22)" ( (unary_expression "!bVar22" ! identifier) )) (goto_statement "goto LAB_0011f570;" goto statement_identifier ;)) }) (else_clause "else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }" else (compound_statement "{\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }" { (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)".ctors.";" (assignment_expression "pbVar18 = (byte *)".ctors."" identifier = (cast_expression "(byte *)".ctors."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".ctors."" " string_content "))) ;) (expression_statement "pbVar20 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar20 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);" do (compound_statement "{\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar18 < *pbVar20;" (assignment_expression "bVar23 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (expression_statement "bVar22 = (!bVar23 && !bVar22) == bVar23;" (assignment_expression "bVar22 = (!bVar23 && !bVar22) == bVar23" identifier = (binary_expression "(!bVar23 && !bVar22) == bVar23" (parenthesized_expression "(!bVar23 && !bVar22)" ( (binary_expression "!bVar23 && !bVar22" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar22) goto LAB_0011f504;" if (parenthesized_expression "(bVar22)" ( identifier )) (goto_statement "goto LAB_0011f504;" goto statement_identifier ;)) (labeled_statement "LAB_0011f570:\n          bVar25 = false;" statement_identifier : (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;)) (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (expression_statement "pbVar20 = (byte *)".dtors";" (assignment_expression "pbVar20 = (byte *)".dtors"" identifier = (cast_expression "(byte *)".dtors"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".dtors"" " string_content "))) ;) (do_statement "do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);" do (compound_statement "{\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar18 < *pbVar20;" (assignment_expression "bVar25 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar22 = (!bVar25 && !bVar22) == bVar25;" (assignment_expression "bVar22 = (!bVar25 && !bVar22) == bVar25" identifier = (binary_expression "(!bVar25 && !bVar22) == bVar25" (parenthesized_expression "(!bVar25 && !bVar22)" ( (binary_expression "!bVar25 && !bVar22" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }" if (parenthesized_expression "(!bVar22)" ( (unary_expression "!bVar22" ! identifier) )) (compound_statement "{\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }" { (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)".dtors.";" (assignment_expression "pbVar18 = (byte *)".dtors."" identifier = (cast_expression "(byte *)".dtors."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".dtors."" " string_content "))) ;) (expression_statement "pbVar20 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar20 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);" do (compound_statement "{\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar18 < *pbVar20;" (assignment_expression "bVar23 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (expression_statement "bVar22 = (!bVar23 && !bVar22) == bVar23;" (assignment_expression "bVar22 = (!bVar23 && !bVar22) == bVar23" identifier = (binary_expression "(!bVar23 && !bVar22) == bVar23" (parenthesized_expression "(!bVar23 && !bVar22)" ( (binary_expression "!bVar23 && !bVar22" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar22) goto LAB_0011f280;" if (parenthesized_expression "(!bVar22)" ( (unary_expression "!bVar22" ! identifier) )) (goto_statement "goto LAB_0011f280;" goto statement_identifier ;)) })) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "iVar12 = 0xc;" (assignment_expression "iVar12 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar18 = *(byte **)(iVar8 + 0x20);" (assignment_expression "pbVar18 = *(byte **)(iVar8 + 0x20)" identifier = (pointer_expression "*(byte **)(iVar8 + 0x20)" * (cast_expression "(byte **)(iVar8 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x20)" ( (binary_expression "iVar8 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pbVar20 = (byte *)".fini_array";" (assignment_expression "pbVar20 = (byte *)".fini_array"" identifier = (cast_expression "(byte *)".fini_array"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".fini_array"" " string_content "))) ;) (do_statement "do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);" do (compound_statement "{\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar18 < *pbVar20;" (assignment_expression "bVar25 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (if_statement "if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;" if (parenthesized_expression "((!bVar25 && !bVar22) != bVar25)" ( (binary_expression "(!bVar25 && !bVar22) != bVar25" (parenthesized_expression "(!bVar25 && !bVar22)" ( (binary_expression "!bVar25 && !bVar22" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_0011f280;" goto statement_identifier ;)) }))) (expression_statement "ppiVar16[10] = ppiVar16[0x19];" (assignment_expression "ppiVar16[10] = ppiVar16[0x19]" (subscript_expression "ppiVar16[10]" identifier [ number_literal ]) = (subscript_expression "ppiVar16[0x19]" identifier [ number_literal ])) ;) (expression_statement "ppiVar16[0xb] = ppiVar16[0x1a];" (assignment_expression "ppiVar16[0xb] = ppiVar16[0x1a]" (subscript_expression "ppiVar16[0xb]" identifier [ number_literal ]) = (subscript_expression "ppiVar16[0x1a]" identifier [ number_literal ])) ;) (expression_statement "ppiVar16[9] = &DAT_00414774;" (assignment_expression "ppiVar16[9] = &DAT_00414774" (subscript_expression "ppiVar16[9]" identifier [ number_literal ]) = (pointer_expression "&DAT_00414774" & identifier)) ;) (expression_statement "ppiVar16[0xfffffffd] = (int *)0x1;" (assignment_expression "ppiVar16[0xfffffffd] = (int *)0x1" (subscript_expression "ppiVar16[0xfffffffd]" identifier [ number_literal ]) = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar16[0xfffffffc] = (int *)0x0;" (assignment_expression "ppiVar16[0xfffffffc] = (int *)0x0" (subscript_expression "ppiVar16[0xfffffffc]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);" (assignment_expression "ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9)" (subscript_expression "ppiVar16[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(int *)(ppiVar16 + 9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar16 + 9)" ( (binary_expression "ppiVar16 + 9" identifier + number_literal) )))) ;) (expression_statement "ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);" (assignment_expression "ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10)" (subscript_expression "ppiVar16[0xfffffffa]" identifier [ number_literal ]) = (cast_expression "(int *)(ppiVar16 + 10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar16 + 10)" ( (binary_expression "ppiVar16 + 10" identifier + number_literal) )))) ;) (expression_statement "ppiVar16[0xfffffff9] = &DAT_00414774;" (assignment_expression "ppiVar16[0xfffffff9] = &DAT_00414774" (subscript_expression "ppiVar16[0xfffffff9]" identifier [ number_literal ]) = (pointer_expression "&DAT_00414774" & identifier)) ;) (expression_statement "ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);" (assignment_expression "ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4)" (subscript_expression "ppiVar16[0xfffffff8]" identifier [ number_literal ]) = (cast_expression "(int *)(ppiVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar16 + 4)" ( (binary_expression "ppiVar16 + 4" identifier + number_literal) )))) ;) (expression_statement "ppiVar16[0xfffffff7] = (int *)0x11f553;" (assignment_expression "ppiVar16[0xfffffff7] = (int *)0x11f553" (subscript_expression "ppiVar16[0xfffffff7]" identifier [ number_literal ]) = (cast_expression "(int *)0x11f553" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000a8d90();" (call_expression "FUN_000a8d90()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppiVar15 = ppiVar16 + 0x17;" (assignment_expression "ppiVar15 = ppiVar16 + 0x17" identifier = (binary_expression "ppiVar16 + 0x17" identifier + number_literal)) ;) (expression_statement "ppiVar16 = ppiVar16 + 0xffffffff;" (assignment_expression "ppiVar16 = ppiVar16 + 0xffffffff" identifier = (binary_expression "ppiVar16 + 0xffffffff" identifier + number_literal)) ;) (expression_statement "uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);" (assignment_expression "uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac)" identifier = (binary_expression "(uint)*(byte *)((*ppiVar15)[1] + 0xac)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((*ppiVar15)[1] + 0xac)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*ppiVar15)[1] + 0xac)" ( (binary_expression "(*ppiVar15)[1] + 0xac" (subscript_expression "(*ppiVar15)[1]" (parenthesized_expression "(*ppiVar15)" ( (pointer_expression "*ppiVar15" * identifier) )) [ number_literal ]) + number_literal) ))))) ;) (goto_statement "goto LAB_0011f282;" goto statement_identifier ;) })) }))) }))) (labeled_statement "LAB_0011f280:\n  uVar9 = 0;" statement_identifier : (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_0011f282:\n  uVar1 = *(uint *)(iVar8 + 0x54);" statement_identifier : (expression_statement "uVar1 = *(uint *)(iVar8 + 0x54);" (assignment_expression "uVar1 = *(uint *)(iVar8 + 0x54)" identifier = (pointer_expression "*(uint *)(iVar8 + 0x54)" * (cast_expression "(uint *)(iVar8 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x54)" ( (binary_expression "iVar8 + 0x54" identifier + number_literal) ))))) ;)) (expression_statement "*(uint *)((int)ppiVar16 + -4) = uVar9;" (assignment_expression "*(uint *)((int)ppiVar16 + -4) = uVar9" (pointer_expression "*(uint *)((int)ppiVar16 + -4)" * (cast_expression "(uint *)((int)ppiVar16 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -4)" ( (binary_expression "(int)ppiVar16 + -4" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar16 + -8) = *(undefined4 *)((int)ppiVar16 + 0x78);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -8) = *(undefined4 *)((int)ppiVar16 + 0x78)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -8)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -8)" ( (binary_expression "(int)ppiVar16 + -8" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar16 + 0x78)" * (cast_expression "(undefined4 *)((int)ppiVar16 + 0x78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + 0x78)" ( (binary_expression "(int)ppiVar16 + 0x78" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0xc) = *(undefined4 *)((int)ppiVar16 + 0x70);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0xc) = *(undefined4 *)((int)ppiVar16 + 0x70)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0xc)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0xc)" ( (binary_expression "(int)ppiVar16 + -0xc" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar16 + 0x70)" * (cast_expression "(undefined4 *)((int)ppiVar16 + 0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + 0x70)" ( (binary_expression "(int)ppiVar16 + 0x70" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x6c);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x6c)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x10)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0x10)" ( (binary_expression "(int)ppiVar16 + -0x10" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar16 + 0x6c)" * (cast_expression "(undefined4 *)((int)ppiVar16 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + 0x6c)" ( (binary_expression "(int)ppiVar16 + 0x6c" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x14) = *(undefined4 *)((int)ppiVar16 + 0x68);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x14) = *(undefined4 *)((int)ppiVar16 + 0x68)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0x14)" ( (binary_expression "(int)ppiVar16 + -0x14" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar16 + 0x68)" * (cast_expression "(undefined4 *)((int)ppiVar16 + 0x68)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + 0x68)" ( (binary_expression "(int)ppiVar16 + 0x68" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x18) = *(undefined4 *)((int)ppiVar16 + 100);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x18) = *(undefined4 *)((int)ppiVar16 + 100)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x18)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0x18)" ( (binary_expression "(int)ppiVar16 + -0x18" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar16 + 100)" * (cast_expression "(undefined4 *)((int)ppiVar16 + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + 100)" ( (binary_expression "(int)ppiVar16 + 100" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x1c) = *(undefined4 *)((int)ppiVar16 + 0x60);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x1c) = *(undefined4 *)((int)ppiVar16 + 0x60)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x1c)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0x1c)" ( (binary_expression "(int)ppiVar16 + -0x1c" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar16 + 0x60)" * (cast_expression "(undefined4 *)((int)ppiVar16 + 0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + 0x60)" ( (binary_expression "(int)ppiVar16 + 0x60" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(int *)((int)ppiVar16 + -0x20) = iVar8;" (assignment_expression "*(int *)((int)ppiVar16 + -0x20) = iVar8" (pointer_expression "*(int *)((int)ppiVar16 + -0x20)" * (cast_expression "(int *)((int)ppiVar16 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0x20)" ( (binary_expression "(int)ppiVar16 + -0x20" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x24) = 0x11f2a4;" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x24) = 0x11f2a4" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x24)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0x24)" ( (binary_expression "(int)ppiVar16 + -0x24" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar28 = FUN_00191bd0();" (assignment_expression "uVar28 = FUN_00191bd0()" identifier = (call_expression "FUN_00191bd0()" identifier (argument_list "()" ( )))) ;) (expression_statement "**(undefined8 **)((int)ppiVar16 + 0x80) = uVar28;" (assignment_expression "**(undefined8 **)((int)ppiVar16 + 0x80) = uVar28" (pointer_expression "**(undefined8 **)((int)ppiVar16 + 0x80)" * (pointer_expression "*(undefined8 **)((int)ppiVar16 + 0x80)" * (cast_expression "(undefined8 **)((int)ppiVar16 + 0x80)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar16 + 0x80)" ( (binary_expression "(int)ppiVar16 + 0x80" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) = identifier) ;) (if_statement "if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar16 + -8) = 0;\n    *(int *)((int)ppiVar16 + -0xc) = iVar8;\n    *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60);\n    *(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2;\n    uVar7 = FUN_00107cf0();\n    *(undefined4 *)(iVar8 + 0x5c) = uVar7;\n  }" if (parenthesized_expression "(((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0))" ( (binary_expression "((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0)" (parenthesized_expression "((uVar1 & 2) != 0)" ( (binary_expression "(uVar1 & 2) != 0" (parenthesized_expression "(uVar1 & 2)" ( (binary_expression "uVar1 & 2" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0)" ( (binary_expression "((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0" (parenthesized_expression "((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5)" ( (binary_expression "(uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5" (parenthesized_expression "(uVar1 ^ *(uint *)(iVar8 + 0x54))" ( (binary_expression "uVar1 ^ *(uint *)(iVar8 + 0x54)" identifier ^ (pointer_expression "*(uint *)(iVar8 + 0x54)" * (cast_expression "(uint *)(iVar8 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x54)" ( (binary_expression "iVar8 + 0x54" identifier + number_literal) ))))) )) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    *(undefined4 *)((int)ppiVar16 + -8) = 0;\n    *(int *)((int)ppiVar16 + -0xc) = iVar8;\n    *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60);\n    *(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2;\n    uVar7 = FUN_00107cf0();\n    *(undefined4 *)(iVar8 + 0x5c) = uVar7;\n  }" { (expression_statement "*(undefined4 *)((int)ppiVar16 + -8) = 0;" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -8) = 0" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -8)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -8)" ( (binary_expression "(int)ppiVar16 + -8" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppiVar16 + -0xc) = iVar8;" (assignment_expression "*(int *)((int)ppiVar16 + -0xc) = iVar8" (pointer_expression "*(int *)((int)ppiVar16 + -0xc)" * (cast_expression "(int *)((int)ppiVar16 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0xc)" ( (binary_expression "(int)ppiVar16 + -0xc" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x10)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0x10)" ( (binary_expression "(int)ppiVar16 + -0x10" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar16 + 0x60)" * (cast_expression "(undefined4 *)((int)ppiVar16 + 0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + 0x60)" ( (binary_expression "(int)ppiVar16 + 0x60" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2;" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0x14)" ( (binary_expression "(int)ppiVar16 + -0x14" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = FUN_00107cf0();" (assignment_expression "uVar7 = FUN_00107cf0()" identifier = (call_expression "FUN_00107cf0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar8 + 0x5c) = uVar7;" (assignment_expression "*(undefined4 *)(iVar8 + 0x5c) = uVar7" (pointer_expression "*(undefined4 *)(iVar8 + 0x5c)" * (cast_expression "(undefined4 *)(iVar8 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x5c)" ( (binary_expression "iVar8 + 0x5c" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "*(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4) = 1;" (assignment_expression "*(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4) = 1" (pointer_expression "*(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4)" * (cast_expression "(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)ppiVar16 + 0x60) + 0x1c4)" ( (binary_expression "*(int *)((int)ppiVar16 + 0x60) + 0x1c4" (pointer_expression "*(int *)((int)ppiVar16 + 0x60)" * (cast_expression "(int *)((int)ppiVar16 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + 0x60)" ( (binary_expression "(int)ppiVar16 + 0x60" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) = number_literal) ;) (return_statement "return iVar8;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original name: layout<32, true>\n   DWARF original prototype: Output_section * layout<32,_true>(Layout * this,\n   Sized_relobj_file<32,_true> * object, uint shndx, char * name, Shdr<32,_true> * shdr, uint\n   sh_type, uint reloc_shndx, uint param_9, off_t * off) */\n\nOutput_section * __thiscall\ngold::Layout::layout<32,_true>\n          (Layout *this,Sized_relobj_file<32,_true> *object,uint shndx,char *name,\n          Shdr<32,_true> *shdr,uint sh_type,uint reloc_shndx,uint param_7,off_t *off)\n\n{\n  __node_gen_type __node_gen;\n  Key name_key;\n  \n}\n\n" comment comment comment (ERROR "Output_section * __thiscall\ngold::Layout::layout<32,_true>\n          (Layout *this,Sized_relobj_file<32,_true> *object,uint shndx,char *name,\n          Shdr<32,_true> *shdr,uint sh_type,uint reloc_shndx,uint param_7,off_t *off)" (binary_expression "Output_section * __thiscall\ngold::Layout::layout<32,_true>\n          (Layout *this,Sized_relobj_file<32,_true> *object,uint shndx,char *name,\n          Shdr<32,_true> *shdr,uint sh_type,uint reloc_shndx,uint param_7,off_t *off)" (binary_expression "Output_section * __thiscall\ngold::Layout::layout<32" (binary_expression "Output_section * __thiscall" identifier * identifier) (ERROR "gold::Layout::layout" identifier : : identifier : : identifier) < number_literal) (ERROR ",_true" , identifier) > (parenthesized_expression "(Layout *this,Sized_relobj_file<32,_true> *object,uint shndx,char *name,\n          Shdr<32,_true> *shdr,uint sh_type,uint reloc_shndx,uint param_7,off_t *off)" ( (comma_expression "Layout *this,Sized_relobj_file<32,_true> *object,uint shndx,char *name,\n          Shdr<32,_true> *shdr,uint sh_type,uint reloc_shndx,uint param_7,off_t *off" (binary_expression "Layout *this" identifier * identifier) , (comma_expression "Sized_relobj_file<32,_true> *object,uint shndx,char *name,\n          Shdr<32,_true> *shdr,uint sh_type,uint reloc_shndx,uint param_7,off_t *off" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_true> *object,uint shndx,char *name,\n          Shdr<32,_true> *shdr,uint sh_type,uint reloc_shndx,uint param_7,off_t *off" (binary_expression "_true> *object" identifier > (pointer_expression "*object" * identifier)) , (ERROR "uint shndx,char *name,\n          Shdr<32,_true> *shdr,uint sh_type,uint" identifier (comma_expression "shndx,char *name,\n          Shdr<32,_true> *shdr,uint sh_type,uint" identifier , (comma_expression "char *name,\n          Shdr<32,_true> *shdr,uint sh_type,uint" (binary_expression "char *name" identifier * identifier) , (comma_expression "Shdr<32,_true> *shdr,uint sh_type,uint" (binary_expression "Shdr<32" identifier < number_literal) , (comma_expression "_true> *shdr,uint sh_type,uint" (binary_expression "_true> *shdr" identifier > (pointer_expression "*shdr" * identifier)) , (ERROR "uint" identifier) (comma_expression "sh_type,uint" identifier , identifier)))))) (comma_expression "reloc_shndx,uint param_7,off_t *off" identifier , (ERROR "uint" identifier) (comma_expression "param_7,off_t *off" identifier , (binary_expression "off_t *off" identifier * identifier)))))) )))) (compound_statement "{\n  __node_gen_type __node_gen;\n  Key name_key;\n  \n}" { (declaration "__node_gen_type __node_gen;" type_identifier identifier ;) (declaration "Key name_key;" type_identifier identifier ;) }))
(translation_unit "int FUN_0011efd0(int param_1,int *param_2,undefined4 param_3,int *param_4,int *param_5,\n                undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 *param_9)\n\n{\n  uint uVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  uint uVar5;\n  char cVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  size_t sVar10;\n  byte bVar11;\n  int iVar12;\n  int *piVar13;\n  int *piVar14;\n  int **ppiVar15;\n  int **ppiVar16;\n  int **ppiVar17;\n  byte *pbVar18;\n  undefined **ppuVar19;\n  byte *pbVar20;\n  char *pcVar21;\n  bool bVar22;\n  bool bVar23;\n  undefined1 uVar24;\n  bool bVar25;\n  undefined1 uVar26;\n  byte bVar27;\n  undefined8 uVar28;\n  int unaff_retaddr;\n  int *apiStackY_8c [3];\n  int *apiStack_60 [8];\n  int *local_40 [3];\n  undefined1 local_34 [4];\n  byte local_30 [28];\n  undefined4 uStack_14;\n  \n  bVar27 = 0;\n  uStack_14 = 0x11efd9;\n  *param_9 = 0;\n  param_9[1] = 0;\n  apiStack_60[0] = param_5;\n  cVar6 = FUN_00117e80(param_1,param_2,param_4);\n  ppiVar16 = apiStack_60 + 1;\n  ppiVar15 = apiStack_60 + 1;\n  if (cVar6 == '\0') {\n    return 0;\n  }\n  uVar9 = *(uint *)(DAT_004144e8 + 8);\n  if (uVar9 == 0) goto LAB_0011f5b8;\n  if (*(char *)(uVar9 + 0x318d) == '\0') {\nLAB_0011f049:\n    piVar13 = &DAT_004144e8;\n    if (*(char *)(uVar9 + 0x5871) != '\0') {\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }\n    ppiVar15[1] = piVar13;\n    ppiVar15[10] = ppiVar15[0x19];\n    ppiVar15[0xb] = ppiVar15[0x1a];\n    ppiVar15[-2] = (int *)local_34;\n    ppiVar15[-3] = ppiVar15[0x18] + 0x81;\n    ppiVar15[-4] = (int *)(ppiVar15 + 7);\n    ppiVar15[-5] = (int *)0x11f087;\n    FUN_001196a0();\n    piVar13 = ppiVar15[6];\n    ppiVar17 = ppiVar15 + -1;\n    uVar9 = *(uint *)(*ppiVar15[0x1b] + 8);\n    uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n    uVar4 = (uVar9 & 0xff00) << 8;\n    if (piVar13 == ppiVar15[0x17] + 0x82) {\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }\n  }\n  else {\n    uVar1 = *(uint *)(*param_5 + 8);\n    uVar4 = (uVar1 & 0xff0000) >> 8;\n    if ((uVar4 & 0x200) == 0) goto LAB_0011f049;\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);\n    ppiVar16 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }\nLAB_0011f150:\n  piVar13 = (int *)ppiVar16[0x18][1];\n  piVar14 = *(int **)(*apiStack_60[1] + 8);\n  ppiVar16[1] = piVar13;\n  bVar11 = *(byte *)(piVar13 + 0x2b);\n  uVar9 = (uint)bVar11;\n  if (bVar11 != 0) {\n    if (piVar14 == (int *)0x0) goto LAB_0011f5b8;\n    goto LAB_0011f282;\n  }\n  if (piVar14 == (int *)0x0) {\nLAB_0011f5b8:\n    ppiVar16[0xffffffff] = (int *)uVar9;\n    ppiVar16[0xfffffffe] = (int *)"options";\n    ppiVar16[0xfffffffd] = (int *)0x5c;\n    ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    \n    ppiVar16[0xfffffffb] = (int *)0x11f5ce;\n    FUN_000da200();\n  }\n  bVar22 = false;\n  bVar25 = *(char *)((int)piVar14 + 0x318d) == '\0';\n  if (!bVar25) goto LAB_0011f4a0;\n  iVar12 = 7;\n  pbVar18 = (byte *)".ctors.";\n  pbVar20 = (byte *)ppiVar16[0x1b];\n  do {\n    if (iVar12 == 0) break;\n    iVar12 = iVar12 + -1;\n    bVar22 = *pbVar18 < *pbVar20;\n    bVar25 = *pbVar18 == *pbVar20;\n    pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n  } while (bVar25);\n  bVar23 = false;\n  bVar22 = (!bVar22 && !bVar25) == bVar22;\n  if (bVar22) {\nLAB_0011f238:\n    *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n    bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n    uVar9 = (uint)bVar11;\n    if (*(char *)((int)piVar14 + 0x3ced) == '\0') {\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }\n    if (bVar11 != 0) goto LAB_0011f282;\nLAB_0011f25d:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\n    if (*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0') goto LAB_0011f4b4;\n    if (cVar6 == '\0') {\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }\n  }\n  else {\n    iVar12 = 7;\n    pbVar18 = (byte *)".dtors.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar25 = false;\n    bVar22 = (!bVar23 && !bVar22) == bVar23;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".init_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar22 = (!bVar25 && !bVar22) == bVar25;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".fini_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;\n    bVar22 = false;\n    bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';\n    if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }\nLAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;\nLAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\nLAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }\n  }\nLAB_0011f280:\n  uVar9 = 0;\nLAB_0011f282:\n  uVar1 = *(uint *)(iVar8 + 0x54);\n  *(uint *)((int)ppiVar16 + -4) = uVar9;\n  *(undefined4 *)((int)ppiVar16 + -8) = *(undefined4 *)((int)ppiVar16 + 0x78);\n  *(undefined4 *)((int)ppiVar16 + -0xc) = *(undefined4 *)((int)ppiVar16 + 0x70);\n  *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x6c);\n  *(undefined4 *)((int)ppiVar16 + -0x14) = *(undefined4 *)((int)ppiVar16 + 0x68);\n  *(undefined4 *)((int)ppiVar16 + -0x18) = *(undefined4 *)((int)ppiVar16 + 100);\n  *(undefined4 *)((int)ppiVar16 + -0x1c) = *(undefined4 *)((int)ppiVar16 + 0x60);\n  *(int *)((int)ppiVar16 + -0x20) = iVar8;\n  *(undefined4 *)((int)ppiVar16 + -0x24) = 0x11f2a4;\n  uVar28 = FUN_00191bd0();\n  **(undefined8 **)((int)ppiVar16 + 0x80) = uVar28;\n  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar16 + -8) = 0;\n    *(int *)((int)ppiVar16 + -0xc) = iVar8;\n    *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60);\n    *(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2;\n    uVar7 = FUN_00107cf0();\n    *(undefined4 *)(iVar8 + 0x5c) = uVar7;\n  }\n  *(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4) = 1;\n  return iVar8;\n}\n\n" (function_definition "int FUN_0011efd0(int param_1,int *param_2,undefined4 param_3,int *param_4,int *param_5,\n                undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 *param_9)\n\n{\n  uint uVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  uint uVar5;\n  char cVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  size_t sVar10;\n  byte bVar11;\n  int iVar12;\n  int *piVar13;\n  int *piVar14;\n  int **ppiVar15;\n  int **ppiVar16;\n  int **ppiVar17;\n  byte *pbVar18;\n  undefined **ppuVar19;\n  byte *pbVar20;\n  char *pcVar21;\n  bool bVar22;\n  bool bVar23;\n  undefined1 uVar24;\n  bool bVar25;\n  undefined1 uVar26;\n  byte bVar27;\n  undefined8 uVar28;\n  int unaff_retaddr;\n  int *apiStackY_8c [3];\n  int *apiStack_60 [8];\n  int *local_40 [3];\n  undefined1 local_34 [4];\n  byte local_30 [28];\n  undefined4 uStack_14;\n  \n  bVar27 = 0;\n  uStack_14 = 0x11efd9;\n  *param_9 = 0;\n  param_9[1] = 0;\n  apiStack_60[0] = param_5;\n  cVar6 = FUN_00117e80(param_1,param_2,param_4);\n  ppiVar16 = apiStack_60 + 1;\n  ppiVar15 = apiStack_60 + 1;\n  if (cVar6 == '\0') {\n    return 0;\n  }\n  uVar9 = *(uint *)(DAT_004144e8 + 8);\n  if (uVar9 == 0) goto LAB_0011f5b8;\n  if (*(char *)(uVar9 + 0x318d) == '\0') {\nLAB_0011f049:\n    piVar13 = &DAT_004144e8;\n    if (*(char *)(uVar9 + 0x5871) != '\0') {\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }\n    ppiVar15[1] = piVar13;\n    ppiVar15[10] = ppiVar15[0x19];\n    ppiVar15[0xb] = ppiVar15[0x1a];\n    ppiVar15[-2] = (int *)local_34;\n    ppiVar15[-3] = ppiVar15[0x18] + 0x81;\n    ppiVar15[-4] = (int *)(ppiVar15 + 7);\n    ppiVar15[-5] = (int *)0x11f087;\n    FUN_001196a0();\n    piVar13 = ppiVar15[6];\n    ppiVar17 = ppiVar15 + -1;\n    uVar9 = *(uint *)(*ppiVar15[0x1b] + 8);\n    uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n    uVar4 = (uVar9 & 0xff00) << 8;\n    if (piVar13 == ppiVar15[0x17] + 0x82) {\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }\n  }\n  else {\n    uVar1 = *(uint *)(*param_5 + 8);\n    uVar4 = (uVar1 & 0xff0000) >> 8;\n    if ((uVar4 & 0x200) == 0) goto LAB_0011f049;\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);\n    ppiVar16 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }\nLAB_0011f150:\n  piVar13 = (int *)ppiVar16[0x18][1];\n  piVar14 = *(int **)(*apiStack_60[1] + 8);\n  ppiVar16[1] = piVar13;\n  bVar11 = *(byte *)(piVar13 + 0x2b);\n  uVar9 = (uint)bVar11;\n  if (bVar11 != 0) {\n    if (piVar14 == (int *)0x0) goto LAB_0011f5b8;\n    goto LAB_0011f282;\n  }\n  if (piVar14 == (int *)0x0) {\nLAB_0011f5b8:\n    ppiVar16[0xffffffff] = (int *)uVar9;\n    ppiVar16[0xfffffffe] = (int *)"options";\n    ppiVar16[0xfffffffd] = (int *)0x5c;\n    ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    \n    ppiVar16[0xfffffffb] = (int *)0x11f5ce;\n    FUN_000da200();\n  }\n  bVar22 = false;\n  bVar25 = *(char *)((int)piVar14 + 0x318d) == '\0';\n  if (!bVar25) goto LAB_0011f4a0;\n  iVar12 = 7;\n  pbVar18 = (byte *)".ctors.";\n  pbVar20 = (byte *)ppiVar16[0x1b];\n  do {\n    if (iVar12 == 0) break;\n    iVar12 = iVar12 + -1;\n    bVar22 = *pbVar18 < *pbVar20;\n    bVar25 = *pbVar18 == *pbVar20;\n    pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n  } while (bVar25);\n  bVar23 = false;\n  bVar22 = (!bVar22 && !bVar25) == bVar22;\n  if (bVar22) {\nLAB_0011f238:\n    *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n    bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n    uVar9 = (uint)bVar11;\n    if (*(char *)((int)piVar14 + 0x3ced) == '\0') {\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }\n    if (bVar11 != 0) goto LAB_0011f282;\nLAB_0011f25d:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\n    if (*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0') goto LAB_0011f4b4;\n    if (cVar6 == '\0') {\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }\n  }\n  else {\n    iVar12 = 7;\n    pbVar18 = (byte *)".dtors.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar25 = false;\n    bVar22 = (!bVar23 && !bVar22) == bVar23;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".init_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar22 = (!bVar25 && !bVar22) == bVar25;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".fini_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;\n    bVar22 = false;\n    bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';\n    if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }\nLAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;\nLAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\nLAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }\n  }\nLAB_0011f280:\n  uVar9 = 0;\nLAB_0011f282:\n  uVar1 = *(uint *)(iVar8 + 0x54);\n  *(uint *)((int)ppiVar16 + -4) = uVar9;\n  *(undefined4 *)((int)ppiVar16 + -8) = *(undefined4 *)((int)ppiVar16 + 0x78);\n  *(undefined4 *)((int)ppiVar16 + -0xc) = *(undefined4 *)((int)ppiVar16 + 0x70);\n  *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x6c);\n  *(undefined4 *)((int)ppiVar16 + -0x14) = *(undefined4 *)((int)ppiVar16 + 0x68);\n  *(undefined4 *)((int)ppiVar16 + -0x18) = *(undefined4 *)((int)ppiVar16 + 100);\n  *(undefined4 *)((int)ppiVar16 + -0x1c) = *(undefined4 *)((int)ppiVar16 + 0x60);\n  *(int *)((int)ppiVar16 + -0x20) = iVar8;\n  *(undefined4 *)((int)ppiVar16 + -0x24) = 0x11f2a4;\n  uVar28 = FUN_00191bd0();\n  **(undefined8 **)((int)ppiVar16 + 0x80) = uVar28;\n  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar16 + -8) = 0;\n    *(int *)((int)ppiVar16 + -0xc) = iVar8;\n    *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60);\n    *(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2;\n    uVar7 = FUN_00107cf0();\n    *(undefined4 *)(iVar8 + 0x5c) = uVar7;\n  }\n  *(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4) = 1;\n  return iVar8;\n}" primitive_type (function_declarator "FUN_0011efd0(int param_1,int *param_2,undefined4 param_3,int *param_4,int *param_5,\n                undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 *param_9)" identifier (parameter_list "(int param_1,int *param_2,undefined4 param_3,int *param_4,int *param_5,\n                undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 *param_9)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int *param_5" primitive_type (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_7" type_identifier identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) , (parameter_declaration "undefined4 *param_9" type_identifier (pointer_declarator "*param_9" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  uint uVar5;\n  char cVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  size_t sVar10;\n  byte bVar11;\n  int iVar12;\n  int *piVar13;\n  int *piVar14;\n  int **ppiVar15;\n  int **ppiVar16;\n  int **ppiVar17;\n  byte *pbVar18;\n  undefined **ppuVar19;\n  byte *pbVar20;\n  char *pcVar21;\n  bool bVar22;\n  bool bVar23;\n  undefined1 uVar24;\n  bool bVar25;\n  undefined1 uVar26;\n  byte bVar27;\n  undefined8 uVar28;\n  int unaff_retaddr;\n  int *apiStackY_8c [3];\n  int *apiStack_60 [8];\n  int *local_40 [3];\n  undefined1 local_34 [4];\n  byte local_30 [28];\n  undefined4 uStack_14;\n  \n  bVar27 = 0;\n  uStack_14 = 0x11efd9;\n  *param_9 = 0;\n  param_9[1] = 0;\n  apiStack_60[0] = param_5;\n  cVar6 = FUN_00117e80(param_1,param_2,param_4);\n  ppiVar16 = apiStack_60 + 1;\n  ppiVar15 = apiStack_60 + 1;\n  if (cVar6 == '\0') {\n    return 0;\n  }\n  uVar9 = *(uint *)(DAT_004144e8 + 8);\n  if (uVar9 == 0) goto LAB_0011f5b8;\n  if (*(char *)(uVar9 + 0x318d) == '\0') {\nLAB_0011f049:\n    piVar13 = &DAT_004144e8;\n    if (*(char *)(uVar9 + 0x5871) != '\0') {\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }\n    ppiVar15[1] = piVar13;\n    ppiVar15[10] = ppiVar15[0x19];\n    ppiVar15[0xb] = ppiVar15[0x1a];\n    ppiVar15[-2] = (int *)local_34;\n    ppiVar15[-3] = ppiVar15[0x18] + 0x81;\n    ppiVar15[-4] = (int *)(ppiVar15 + 7);\n    ppiVar15[-5] = (int *)0x11f087;\n    FUN_001196a0();\n    piVar13 = ppiVar15[6];\n    ppiVar17 = ppiVar15 + -1;\n    uVar9 = *(uint *)(*ppiVar15[0x1b] + 8);\n    uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n    uVar4 = (uVar9 & 0xff00) << 8;\n    if (piVar13 == ppiVar15[0x17] + 0x82) {\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }\n  }\n  else {\n    uVar1 = *(uint *)(*param_5 + 8);\n    uVar4 = (uVar1 & 0xff0000) >> 8;\n    if ((uVar4 & 0x200) == 0) goto LAB_0011f049;\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);\n    ppiVar16 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }\nLAB_0011f150:\n  piVar13 = (int *)ppiVar16[0x18][1];\n  piVar14 = *(int **)(*apiStack_60[1] + 8);\n  ppiVar16[1] = piVar13;\n  bVar11 = *(byte *)(piVar13 + 0x2b);\n  uVar9 = (uint)bVar11;\n  if (bVar11 != 0) {\n    if (piVar14 == (int *)0x0) goto LAB_0011f5b8;\n    goto LAB_0011f282;\n  }\n  if (piVar14 == (int *)0x0) {\nLAB_0011f5b8:\n    ppiVar16[0xffffffff] = (int *)uVar9;\n    ppiVar16[0xfffffffe] = (int *)"options";\n    ppiVar16[0xfffffffd] = (int *)0x5c;\n    ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    \n    ppiVar16[0xfffffffb] = (int *)0x11f5ce;\n    FUN_000da200();\n  }\n  bVar22 = false;\n  bVar25 = *(char *)((int)piVar14 + 0x318d) == '\0';\n  if (!bVar25) goto LAB_0011f4a0;\n  iVar12 = 7;\n  pbVar18 = (byte *)".ctors.";\n  pbVar20 = (byte *)ppiVar16[0x1b];\n  do {\n    if (iVar12 == 0) break;\n    iVar12 = iVar12 + -1;\n    bVar22 = *pbVar18 < *pbVar20;\n    bVar25 = *pbVar18 == *pbVar20;\n    pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n  } while (bVar25);\n  bVar23 = false;\n  bVar22 = (!bVar22 && !bVar25) == bVar22;\n  if (bVar22) {\nLAB_0011f238:\n    *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n    bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n    uVar9 = (uint)bVar11;\n    if (*(char *)((int)piVar14 + 0x3ced) == '\0') {\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }\n    if (bVar11 != 0) goto LAB_0011f282;\nLAB_0011f25d:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\n    if (*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0') goto LAB_0011f4b4;\n    if (cVar6 == '\0') {\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }\n  }\n  else {\n    iVar12 = 7;\n    pbVar18 = (byte *)".dtors.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar25 = false;\n    bVar22 = (!bVar23 && !bVar22) == bVar23;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".init_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar22 = (!bVar25 && !bVar22) == bVar25;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".fini_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;\n    bVar22 = false;\n    bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';\n    if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }\nLAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;\nLAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\nLAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }\n  }\nLAB_0011f280:\n  uVar9 = 0;\nLAB_0011f282:\n  uVar1 = *(uint *)(iVar8 + 0x54);\n  *(uint *)((int)ppiVar16 + -4) = uVar9;\n  *(undefined4 *)((int)ppiVar16 + -8) = *(undefined4 *)((int)ppiVar16 + 0x78);\n  *(undefined4 *)((int)ppiVar16 + -0xc) = *(undefined4 *)((int)ppiVar16 + 0x70);\n  *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x6c);\n  *(undefined4 *)((int)ppiVar16 + -0x14) = *(undefined4 *)((int)ppiVar16 + 0x68);\n  *(undefined4 *)((int)ppiVar16 + -0x18) = *(undefined4 *)((int)ppiVar16 + 100);\n  *(undefined4 *)((int)ppiVar16 + -0x1c) = *(undefined4 *)((int)ppiVar16 + 0x60);\n  *(int *)((int)ppiVar16 + -0x20) = iVar8;\n  *(undefined4 *)((int)ppiVar16 + -0x24) = 0x11f2a4;\n  uVar28 = FUN_00191bd0();\n  **(undefined8 **)((int)ppiVar16 + 0x80) = uVar28;\n  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar16 + -8) = 0;\n    *(int *)((int)ppiVar16 + -0xc) = iVar8;\n    *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60);\n    *(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2;\n    uVar7 = FUN_00107cf0();\n    *(undefined4 *)(iVar8 + 0x5c) = uVar7;\n  }\n  *(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4) = 1;\n  return iVar8;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "size_t sVar10;" primitive_type identifier ;) (declaration "byte bVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int **ppiVar15;" primitive_type (pointer_declarator "**ppiVar15" * (pointer_declarator "*ppiVar15" * identifier)) ;) (declaration "int **ppiVar16;" primitive_type (pointer_declarator "**ppiVar16" * (pointer_declarator "*ppiVar16" * identifier)) ;) (declaration "int **ppiVar17;" primitive_type (pointer_declarator "**ppiVar17" * (pointer_declarator "*ppiVar17" * identifier)) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "undefined **ppuVar19;" type_identifier (pointer_declarator "**ppuVar19" * (pointer_declarator "*ppuVar19" * identifier)) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "char *pcVar21;" primitive_type (pointer_declarator "*pcVar21" * identifier) ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "undefined1 uVar24;" type_identifier identifier ;) (declaration "bool bVar25;" primitive_type identifier ;) (declaration "undefined1 uVar26;" type_identifier identifier ;) (declaration "byte bVar27;" type_identifier identifier ;) (declaration "undefined8 uVar28;" type_identifier identifier ;) (declaration "int unaff_retaddr;" primitive_type identifier ;) (declaration "int *apiStackY_8c [3];" primitive_type (pointer_declarator "*apiStackY_8c [3]" * (array_declarator "apiStackY_8c [3]" identifier [ number_literal ])) ;) (declaration "int *apiStack_60 [8];" primitive_type (pointer_declarator "*apiStack_60 [8]" * (array_declarator "apiStack_60 [8]" identifier [ number_literal ])) ;) (declaration "int *local_40 [3];" primitive_type (pointer_declarator "*local_40 [3]" * (array_declarator "local_40 [3]" identifier [ number_literal ])) ;) (declaration "undefined1 local_34 [4];" type_identifier (array_declarator "local_34 [4]" identifier [ number_literal ]) ;) (declaration "byte local_30 [28];" type_identifier (array_declarator "local_30 [28]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar27 = 0;" (assignment_expression "bVar27 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x11efd9;" (assignment_expression "uStack_14 = 0x11efd9" identifier = number_literal) ;) (expression_statement "*param_9 = 0;" (assignment_expression "*param_9 = 0" (pointer_expression "*param_9" * identifier) = number_literal) ;) (expression_statement "param_9[1] = 0;" (assignment_expression "param_9[1] = 0" (subscript_expression "param_9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "apiStack_60[0] = param_5;" (assignment_expression "apiStack_60[0] = param_5" (subscript_expression "apiStack_60[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "cVar6 = FUN_00117e80(param_1,param_2,param_4);" (assignment_expression "cVar6 = FUN_00117e80(param_1,param_2,param_4)" identifier = (call_expression "FUN_00117e80(param_1,param_2,param_4)" identifier (argument_list "(param_1,param_2,param_4)" ( identifier , identifier , identifier )))) ;) (expression_statement "ppiVar16 = apiStack_60 + 1;" (assignment_expression "ppiVar16 = apiStack_60 + 1" identifier = (binary_expression "apiStack_60 + 1" identifier + number_literal)) ;) (expression_statement "ppiVar15 = apiStack_60 + 1;" (assignment_expression "ppiVar15 = apiStack_60 + 1" identifier = (binary_expression "apiStack_60 + 1" identifier + number_literal)) ;) (if_statement "if (cVar6 == '\0') {\n    return 0;\n  }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar9 = *(uint *)(DAT_004144e8 + 8);" (assignment_expression "uVar9 = *(uint *)(DAT_004144e8 + 8)" identifier = (pointer_expression "*(uint *)(DAT_004144e8 + 8)" * (cast_expression "(uint *)(DAT_004144e8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_004144e8 + 8)" ( (binary_expression "DAT_004144e8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (uVar9 == 0) goto LAB_0011f5b8;" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0011f5b8;" goto statement_identifier ;)) (if_statement "if (*(char *)(uVar9 + 0x318d) == '\0') {\nLAB_0011f049:\n    piVar13 = &DAT_004144e8;\n    if (*(char *)(uVar9 + 0x5871) != '\0') {\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }\n    ppiVar15[1] = piVar13;\n    ppiVar15[10] = ppiVar15[0x19];\n    ppiVar15[0xb] = ppiVar15[0x1a];\n    ppiVar15[-2] = (int *)local_34;\n    ppiVar15[-3] = ppiVar15[0x18] + 0x81;\n    ppiVar15[-4] = (int *)(ppiVar15 + 7);\n    ppiVar15[-5] = (int *)0x11f087;\n    FUN_001196a0();\n    piVar13 = ppiVar15[6];\n    ppiVar17 = ppiVar15 + -1;\n    uVar9 = *(uint *)(*ppiVar15[0x1b] + 8);\n    uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n    uVar4 = (uVar9 & 0xff00) << 8;\n    if (piVar13 == ppiVar15[0x17] + 0x82) {\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }\n  }\n  else {\n    uVar1 = *(uint *)(*param_5 + 8);\n    uVar4 = (uVar1 & 0xff0000) >> 8;\n    if ((uVar4 & 0x200) == 0) goto LAB_0011f049;\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);\n    ppiVar16 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }" if (parenthesized_expression "(*(char *)(uVar9 + 0x318d) == '\0')" ( (binary_expression "*(char *)(uVar9 + 0x318d) == '\0'" (pointer_expression "*(char *)(uVar9 + 0x318d)" * (cast_expression "(char *)(uVar9 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar9 + 0x318d)" ( (binary_expression "uVar9 + 0x318d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0011f049:\n    piVar13 = &DAT_004144e8;\n    if (*(char *)(uVar9 + 0x5871) != '\0') {\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }\n    ppiVar15[1] = piVar13;\n    ppiVar15[10] = ppiVar15[0x19];\n    ppiVar15[0xb] = ppiVar15[0x1a];\n    ppiVar15[-2] = (int *)local_34;\n    ppiVar15[-3] = ppiVar15[0x18] + 0x81;\n    ppiVar15[-4] = (int *)(ppiVar15 + 7);\n    ppiVar15[-5] = (int *)0x11f087;\n    FUN_001196a0();\n    piVar13 = ppiVar15[6];\n    ppiVar17 = ppiVar15 + -1;\n    uVar9 = *(uint *)(*ppiVar15[0x1b] + 8);\n    uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n    uVar4 = (uVar9 & 0xff00) << 8;\n    if (piVar13 == ppiVar15[0x17] + 0x82) {\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }\n  }" { (labeled_statement "LAB_0011f049:\n    piVar13 = &DAT_004144e8;" statement_identifier : (expression_statement "piVar13 = &DAT_004144e8;" (assignment_expression "piVar13 = &DAT_004144e8" identifier = (pointer_expression "&DAT_004144e8" & identifier)) ;)) (if_statement "if (*(char *)(uVar9 + 0x5871) != '\0') {\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }" if (parenthesized_expression "(*(char *)(uVar9 + 0x5871) != '\0')" ( (binary_expression "*(char *)(uVar9 + 0x5871) != '\0'" (pointer_expression "*(char *)(uVar9 + 0x5871)" * (cast_expression "(char *)(uVar9 + 0x5871)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar9 + 0x5871)" ( (binary_expression "uVar9 + 0x5871" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }" { (expression_statement "uVar24 = apiStack_60 + 1 < (int **)0x4;" (assignment_expression "uVar24 = apiStack_60 + 1 < (int **)0x4" identifier = (binary_expression "apiStack_60 + 1 < (int **)0x4" (binary_expression "apiStack_60 + 1" identifier + number_literal) < (cast_expression "(int **)0x4" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ;) (expression_statement "uVar26 = &stack0x00000000 == (undefined1 *)0x60;" (assignment_expression "uVar26 = &stack0x00000000 == (undefined1 *)0x60" identifier = (binary_expression "&stack0x00000000 == (undefined1 *)0x60" (pointer_expression "&stack0x00000000" & identifier) == (cast_expression "(undefined1 *)0x60" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "apiStack_60[2] = &DAT_004144e8;" (assignment_expression "apiStack_60[2] = &DAT_004144e8" (subscript_expression "apiStack_60[2]" identifier [ number_literal ]) = (pointer_expression "&DAT_004144e8" & identifier)) ;) (expression_statement "(**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);" (call_expression "(**(code **)(*param_2 + 0x40))(local_34,param_2,param_3)" (parenthesized_expression "(**(code **)(*param_2 + 0x40))" ( (pointer_expression "**(code **)(*param_2 + 0x40)" * (pointer_expression "*(code **)(*param_2 + 0x40)" * (cast_expression "(code **)(*param_2 + 0x40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x40)" ( (binary_expression "*param_2 + 0x40" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(local_34,param_2,param_3)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar8 = 0xe;" (assignment_expression "iVar8 = 0xe" identifier = number_literal) ;) (expression_statement "apiStack_60[2] = (int *)0x2fd3ca;" (assignment_expression "apiStack_60[2] = (int *)0x2fd3ca" (subscript_expression "apiStack_60[2]" identifier [ number_literal ]) = (cast_expression "(int *)0x2fd3ca" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar18 = (byte *)".text.unlikely";" (assignment_expression "pbVar18 = (byte *)".text.unlikely"" identifier = (cast_expression "(byte *)".text.unlikely"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".text.unlikely"" " string_content "))) ;) (expression_statement "pbVar20 = (byte *)local_40[2];" (assignment_expression "pbVar20 = (byte *)local_40[2]" identifier = (cast_expression "(byte *)local_40[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_40[2]" identifier [ number_literal ]))) ;) (do_statement "do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);" do (compound_statement "{\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "uVar24 = *pbVar18 < *pbVar20;" (assignment_expression "uVar24 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "uVar26 = *pbVar18 == *pbVar20;" (assignment_expression "uVar26 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "((bool)uVar26)" ( (cast_expression "(bool)uVar26" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "ppiVar15 = apiStack_60;" (assignment_expression "ppiVar15 = apiStack_60" identifier = identifier) ;) (if_statement "if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }" if (parenthesized_expression "((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24)" ( (binary_expression "(!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24" (parenthesized_expression "(!(bool)uVar24 && !(bool)uVar26)" ( (binary_expression "!(bool)uVar24 && !(bool)uVar26" (unary_expression "!(bool)uVar24" ! (cast_expression "(bool)uVar24" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar26" ! (cast_expression "(bool)uVar26" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar24" ( (type_descriptor "bool" primitive_type) ) identifier)) )) (compound_statement "{\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }" { (if_statement "if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }" if (parenthesized_expression "((byte *)local_40[2] != local_30)" ( (binary_expression "(byte *)local_40[2] != local_30" (cast_expression "(byte *)local_40[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_40[2]" identifier [ number_literal ])) != identifier) )) (compound_statement "{\n          FUN_00248220(local_40[2]);\n        }" { (expression_statement "FUN_00248220(local_40[2]);" (call_expression "FUN_00248220(local_40[2])" identifier (argument_list "(local_40[2])" ( (subscript_expression "local_40[2]" identifier [ number_literal ]) ))) ;) })) (expression_statement "ppiVar17 = apiStack_60;" (assignment_expression "ppiVar17 = apiStack_60" identifier = identifier) ;) (expression_statement "uVar9 = *(uint *)(*param_4 + 8);" (assignment_expression "uVar9 = *(uint *)(*param_4 + 8)" identifier = (pointer_expression "*(uint *)(*param_4 + 8)" * (cast_expression "(uint *)(*param_4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + 8)" ( (binary_expression "*param_4 + 8" (pointer_expression "*param_4" * identifier) + number_literal) ))))) ;) (expression_statement "uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;" (assignment_expression "uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal))) ;) (if_statement "if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;" if (parenthesized_expression "(*(int *)(*apiStack_60[1] + 8) == 0)" ( (binary_expression "*(int *)(*apiStack_60[1] + 8) == 0" (pointer_expression "*(int *)(*apiStack_60[1] + 8)" * (cast_expression "(int *)(*apiStack_60[1] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*apiStack_60[1] + 8)" ( (binary_expression "*apiStack_60[1] + 8" (pointer_expression "*apiStack_60[1]" * (subscript_expression "apiStack_60[1]" identifier [ number_literal ])) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0011f67b;" goto statement_identifier ;)) (expression_statement "uVar4 = uVar1 & 0xfffff50f;" (assignment_expression "uVar4 = uVar1 & 0xfffff50f" identifier = (binary_expression "uVar1 & 0xfffff50f" identifier & number_literal)) ;) (if_statement "if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }" if (parenthesized_expression "(*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0')" ( (binary_expression "*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0'" (pointer_expression "*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d)" * (cast_expression "(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*apiStack_60[1] + 8) + 0x318d)" ( (binary_expression "*(int *)(*apiStack_60[1] + 8) + 0x318d" (pointer_expression "*(int *)(*apiStack_60[1] + 8)" * (cast_expression "(int *)(*apiStack_60[1] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*apiStack_60[1] + 8)" ( (binary_expression "*apiStack_60[1] + 8" (pointer_expression "*apiStack_60[1]" * (subscript_expression "apiStack_60[1]" identifier [ number_literal ])) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar4 = uVar1 & 0xfffff58f;\n        }" { (expression_statement "uVar4 = uVar1 & 0xfffff58f;" (assignment_expression "uVar4 = uVar1 & 0xfffff58f" identifier = (binary_expression "uVar1 & 0xfffff58f" identifier & number_literal)) ;) })) (expression_statement "uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);" (assignment_expression "uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34)" identifier = (call_expression "FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34)" identifier (argument_list "(unaff_retaddr + 8,apiStack_60[2],1,local_34)" ( (binary_expression "unaff_retaddr + 8" identifier + number_literal) , (subscript_expression "apiStack_60[2]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (expression_statement "iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);" (assignment_expression "iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0)" identifier = (call_expression "FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0)" identifier (argument_list "(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0)" ( identifier , identifier , (subscript_expression "local_40[2]" identifier [ number_literal ]) , identifier , (binary_expression "uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar4 | (uVar9 & 0xff00) << 8" identifier | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal)) , number_literal , number_literal , number_literal )))) ;) (expression_statement "ppiVar16 = apiStack_60;" (assignment_expression "ppiVar16 = apiStack_60" identifier = identifier) ;) (expression_statement "*(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;" (assignment_expression "*(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar8 + 0x92)" * (cast_expression "(byte *)(iVar8 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x92)" ( (binary_expression "iVar8 + 0x92" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar8 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar8 + 0x92)" * (cast_expression "(byte *)(iVar8 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x92)" ( (binary_expression "iVar8 + 0x92" identifier + number_literal) )))) | number_literal)) ;) (goto_statement "goto LAB_0011f150;" goto statement_identifier ;) })) (expression_statement "piVar13 = apiStack_60[1];" (assignment_expression "piVar13 = apiStack_60[1]" identifier = (subscript_expression "apiStack_60[1]" identifier [ number_literal ])) ;) (if_statement "if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }" if (parenthesized_expression "((byte *)local_40[2] != local_30)" ( (binary_expression "(byte *)local_40[2] != local_30" (cast_expression "(byte *)local_40[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_40[2]" identifier [ number_literal ])) != identifier) )) (compound_statement "{\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }" { (expression_statement "FUN_00248220(local_40[2]);" (call_expression "FUN_00248220(local_40[2])" identifier (argument_list "(local_40[2])" ( (subscript_expression "local_40[2]" identifier [ number_literal ]) ))) ;) (expression_statement "ppiVar15 = apiStack_60;" (assignment_expression "ppiVar15 = apiStack_60" identifier = identifier) ;) (expression_statement "piVar13 = apiStack_60[1];" (assignment_expression "piVar13 = apiStack_60[1]" identifier = (subscript_expression "apiStack_60[1]" identifier [ number_literal ])) ;) })) })) (expression_statement "ppiVar15[1] = piVar13;" (assignment_expression "ppiVar15[1] = piVar13" (subscript_expression "ppiVar15[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppiVar15[10] = ppiVar15[0x19];" (assignment_expression "ppiVar15[10] = ppiVar15[0x19]" (subscript_expression "ppiVar15[10]" identifier [ number_literal ]) = (subscript_expression "ppiVar15[0x19]" identifier [ number_literal ])) ;) (expression_statement "ppiVar15[0xb] = ppiVar15[0x1a];" (assignment_expression "ppiVar15[0xb] = ppiVar15[0x1a]" (subscript_expression "ppiVar15[0xb]" identifier [ number_literal ]) = (subscript_expression "ppiVar15[0x1a]" identifier [ number_literal ])) ;) (expression_statement "ppiVar15[-2] = (int *)local_34;" (assignment_expression "ppiVar15[-2] = (int *)local_34" (subscript_expression "ppiVar15[-2]" identifier [ number_literal ]) = (cast_expression "(int *)local_34" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar15[-3] = ppiVar15[0x18] + 0x81;" (assignment_expression "ppiVar15[-3] = ppiVar15[0x18] + 0x81" (subscript_expression "ppiVar15[-3]" identifier [ number_literal ]) = (binary_expression "ppiVar15[0x18] + 0x81" (subscript_expression "ppiVar15[0x18]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "ppiVar15[-4] = (int *)(ppiVar15 + 7);" (assignment_expression "ppiVar15[-4] = (int *)(ppiVar15 + 7)" (subscript_expression "ppiVar15[-4]" identifier [ number_literal ]) = (cast_expression "(int *)(ppiVar15 + 7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar15 + 7)" ( (binary_expression "ppiVar15 + 7" identifier + number_literal) )))) ;) (expression_statement "ppiVar15[-5] = (int *)0x11f087;" (assignment_expression "ppiVar15[-5] = (int *)0x11f087" (subscript_expression "ppiVar15[-5]" identifier [ number_literal ]) = (cast_expression "(int *)0x11f087" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_001196a0();" (call_expression "FUN_001196a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar13 = ppiVar15[6];" (assignment_expression "piVar13 = ppiVar15[6]" identifier = (subscript_expression "ppiVar15[6]" identifier [ number_literal ])) ;) (expression_statement "ppiVar17 = ppiVar15 + -1;" (assignment_expression "ppiVar17 = ppiVar15 + -1" identifier = (binary_expression "ppiVar15 + -1" identifier + number_literal)) ;) (expression_statement "uVar9 = *(uint *)(*ppiVar15[0x1b] + 8);" (assignment_expression "uVar9 = *(uint *)(*ppiVar15[0x1b] + 8)" identifier = (pointer_expression "*(uint *)(*ppiVar15[0x1b] + 8)" * (cast_expression "(uint *)(*ppiVar15[0x1b] + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppiVar15[0x1b] + 8)" ( (binary_expression "*ppiVar15[0x1b] + 8" (pointer_expression "*ppiVar15[0x1b]" * (subscript_expression "ppiVar15[0x1b]" identifier [ number_literal ])) + number_literal) ))))) ;) (expression_statement "uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;" (assignment_expression "uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal))) ;) (expression_statement "uVar4 = (uVar9 & 0xff00) << 8;" (assignment_expression "uVar4 = (uVar9 & 0xff00) << 8" identifier = (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) ;) (if_statement "if (piVar13 == ppiVar15[0x17] + 0x82) {\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }" if (parenthesized_expression "(piVar13 == ppiVar15[0x17] + 0x82)" ( (binary_expression "piVar13 == ppiVar15[0x17] + 0x82" identifier == (binary_expression "ppiVar15[0x17] + 0x82" (subscript_expression "ppiVar15[0x17]" identifier [ number_literal ]) + number_literal)) )) (compound_statement "{\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }" { (expression_statement "ppiVar15[-3] = (int *)0x1;" (assignment_expression "ppiVar15[-3] = (int *)0x1" (subscript_expression "ppiVar15[-3]" identifier [ number_literal ]) = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-4] = (int *)0x0;" (assignment_expression "ppiVar15[-4] = (int *)0x0" (subscript_expression "ppiVar15[-4]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-5] = (int *)0x0;" (assignment_expression "ppiVar15[-5] = (int *)0x0" (subscript_expression "ppiVar15[-5]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-6] = (int *)0x0;" (assignment_expression "ppiVar15[-6] = (int *)0x0" (subscript_expression "ppiVar15[-6]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-7] = (int *)0x1;" (assignment_expression "ppiVar15[-7] = (int *)0x1" (subscript_expression "ppiVar15[-7]" identifier [ number_literal ]) = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-8] = (int *)0x0;" (assignment_expression "ppiVar15[-8] = (int *)0x0" (subscript_expression "ppiVar15[-8]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);" (assignment_expression "ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18)" (subscript_expression "ppiVar15[-9]" identifier [ number_literal ]) = (cast_expression "(int *)(uVar1 | uVar4 | uVar9 << 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar1 | uVar4 | uVar9 << 0x18)" ( (binary_expression "uVar1 | uVar4 | uVar9 << 0x18" (binary_expression "uVar1 | uVar4" identifier | identifier) | (binary_expression "uVar9 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "ppiVar15[-10] = ppiVar15[0x1c];" (assignment_expression "ppiVar15[-10] = ppiVar15[0x1c]" (subscript_expression "ppiVar15[-10]" identifier [ number_literal ]) = (subscript_expression "ppiVar15[0x1c]" identifier [ number_literal ])) ;) (expression_statement "ppiVar15[-0xb] = ppiVar15[0x1a];" (assignment_expression "ppiVar15[-0xb] = ppiVar15[0x1a]" (subscript_expression "ppiVar15[-0xb]" identifier [ number_literal ]) = (subscript_expression "ppiVar15[0x1a]" identifier [ number_literal ])) ;) (expression_statement "ppiVar15[-0xc] = ppiVar15[0x18];" (assignment_expression "ppiVar15[-0xc] = ppiVar15[0x18]" (subscript_expression "ppiVar15[-0xc]" identifier [ number_literal ]) = (subscript_expression "ppiVar15[0x18]" identifier [ number_literal ])) ;) (expression_statement "ppiVar15[-0xd] = ppiVar15[0x17];" (assignment_expression "ppiVar15[-0xd] = ppiVar15[0x17]" (subscript_expression "ppiVar15[-0xd]" identifier [ number_literal ]) = (subscript_expression "ppiVar15[0x17]" identifier [ number_literal ])) ;) (expression_statement "ppiVar15[-0xe] = (int *)0x11f402;" (assignment_expression "ppiVar15[-0xe] = (int *)0x11f402" (subscript_expression "ppiVar15[-0xe]" identifier [ number_literal ]) = (cast_expression "(int *)0x11f402" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar8 = FUN_00110ae0();" (assignment_expression "iVar8 = FUN_00110ae0()" identifier = (call_expression "FUN_00110ae0()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppiVar16 = ppiVar15 + -1;" (assignment_expression "ppiVar16 = ppiVar15 + -1" identifier = (binary_expression "ppiVar15 + -1" identifier + number_literal)) ;) (expression_statement "apiStack_60[1] = *ppiVar15;" (assignment_expression "apiStack_60[1] = *ppiVar15" (subscript_expression "apiStack_60[1]" identifier [ number_literal ]) = (pointer_expression "*ppiVar15" * identifier)) ;) (if_statement "if (iVar8 == 0) {\n        return 0;\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) }) (else_clause "else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }" else (compound_statement "{\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }" { (expression_statement "iVar8 = *(int *)(**ppiVar15 + 8);" (assignment_expression "iVar8 = *(int *)(**ppiVar15 + 8)" identifier = (pointer_expression "*(int *)(**ppiVar15 + 8)" * (cast_expression "(int *)(**ppiVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**ppiVar15 + 8)" ( (binary_expression "**ppiVar15 + 8" (pointer_expression "**ppiVar15" * (pointer_expression "*ppiVar15" * identifier)) + number_literal) ))))) ;) (if_statement "if (iVar8 == 0) {\nLAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }" { (labeled_statement "LAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;" statement_identifier : (expression_statement "*(code **)((int)ppiVar17 + -4) = FUN_0011f680;" (assignment_expression "*(code **)((int)ppiVar17 + -4) = FUN_0011f680" (pointer_expression "*(code **)((int)ppiVar17 + -4)" * (cast_expression "(code **)((int)ppiVar17 + -4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar17 + -4)" ( (binary_expression "(int)ppiVar17 + -4" (cast_expression "(int)ppiVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "FUN_00106b00();" (call_expression "FUN_00106b00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar5 = uVar1 & 0xfffff50f;" (assignment_expression "uVar5 = uVar1 & 0xfffff50f" identifier = (binary_expression "uVar1 & 0xfffff50f" identifier & number_literal)) ;) (if_statement "if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }" if (parenthesized_expression "(*(char *)(iVar8 + 0x318d) != '\0')" ( (binary_expression "*(char *)(iVar8 + 0x318d) != '\0'" (pointer_expression "*(char *)(iVar8 + 0x318d)" * (cast_expression "(char *)(iVar8 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x318d)" ( (binary_expression "iVar8 + 0x318d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar5 = uVar1 & 0xfffff58f;\n      }" { (expression_statement "uVar5 = uVar1 & 0xfffff58f;" (assignment_expression "uVar5 = uVar1 & 0xfffff58f" identifier = (binary_expression "uVar1 & 0xfffff58f" identifier & number_literal)) ;) })) (expression_statement "puVar2 = (undefined4 *)piVar13[6];" (assignment_expression "puVar2 = (undefined4 *)piVar13[6]" identifier = (cast_expression "(undefined4 *)piVar13[6]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar13[6]" identifier [ number_literal ]))) ;) (expression_statement "*ppiVar15 = *ppiVar15;" (assignment_expression "*ppiVar15 = *ppiVar15" (pointer_expression "*ppiVar15" * identifier) = (pointer_expression "*ppiVar15" * identifier)) ;) (expression_statement "ppiVar15[-2] = (int *)local_34;" (assignment_expression "ppiVar15[-2] = (int *)local_34" (subscript_expression "ppiVar15[-2]" identifier [ number_literal ]) = (cast_expression "(int *)local_34" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar15[-3] = (int *)0x1;" (assignment_expression "ppiVar15[-3] = (int *)0x1" (subscript_expression "ppiVar15[-3]" identifier [ number_literal ]) = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-4] = (int *)*puVar2;" (assignment_expression "ppiVar15[-4] = (int *)*puVar2" (subscript_expression "ppiVar15[-4]" identifier [ number_literal ]) = (cast_expression "(int *)*puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier))) ;) (expression_statement "ppiVar15[-5] = ppiVar15[0x17] + 2;" (assignment_expression "ppiVar15[-5] = ppiVar15[0x17] + 2" (subscript_expression "ppiVar15[-5]" identifier [ number_literal ]) = (binary_expression "ppiVar15[0x17] + 2" (subscript_expression "ppiVar15[0x17]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "ppiVar15[-6] = (int *)0x11f0ee;" (assignment_expression "ppiVar15[-6] = (int *)0x11f0ee" (subscript_expression "ppiVar15[-6]" identifier [ number_literal ]) = (cast_expression "(int *)0x11f0ee" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar7 = FUN_001e3f80();" (assignment_expression "uVar7 = FUN_001e3f80()" identifier = (call_expression "FUN_001e3f80()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppiVar15[-2] = (int *)0x0;" (assignment_expression "ppiVar15[-2] = (int *)0x0" (subscript_expression "ppiVar15[-2]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-3] = (int *)0x0;" (assignment_expression "ppiVar15[-3] = (int *)0x0" (subscript_expression "ppiVar15[-3]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-4] = (int *)0x0;" (assignment_expression "ppiVar15[-4] = (int *)0x0" (subscript_expression "ppiVar15[-4]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);" (assignment_expression "ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18)" (subscript_expression "ppiVar15[-5]" identifier [ number_literal ]) = (cast_expression "(int *)(uVar5 | uVar4 | uVar9 << 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar5 | uVar4 | uVar9 << 0x18)" ( (binary_expression "uVar5 | uVar4 | uVar9 << 0x18" (binary_expression "uVar5 | uVar4" identifier | identifier) | (binary_expression "uVar9 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "ppiVar15[-6] = ppiVar15[0x1c];" (assignment_expression "ppiVar15[-6] = ppiVar15[0x1c]" (subscript_expression "ppiVar15[-6]" identifier [ number_literal ]) = (subscript_expression "ppiVar15[0x1c]" identifier [ number_literal ])) ;) (expression_statement "ppiVar15[-7] = ppiVar15[9];" (assignment_expression "ppiVar15[-7] = ppiVar15[9]" (subscript_expression "ppiVar15[-7]" identifier [ number_literal ]) = (subscript_expression "ppiVar15[9]" identifier [ number_literal ])) ;) (expression_statement "ppiVar15[-8] = (int *)uVar7;" (assignment_expression "ppiVar15[-8] = (int *)uVar7" (subscript_expression "ppiVar15[-8]" identifier [ number_literal ]) = (cast_expression "(int *)uVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar15[-9] = ppiVar15[0x17];" (assignment_expression "ppiVar15[-9] = ppiVar15[0x17]" (subscript_expression "ppiVar15[-9]" identifier [ number_literal ]) = (subscript_expression "ppiVar15[0x17]" identifier [ number_literal ])) ;) (expression_statement "ppiVar15[-10] = (int *)0x11f10c;" (assignment_expression "ppiVar15[-10] = (int *)0x11f10c" (subscript_expression "ppiVar15[-10]" identifier [ number_literal ]) = (cast_expression "(int *)0x11f10c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar8 = FUN_00110850();" (assignment_expression "iVar8 = FUN_00110850()" identifier = (call_expression "FUN_00110850()" identifier (argument_list "()" ( )))) ;) (expression_statement "apiStack_60[1] = *ppiVar15;" (assignment_expression "apiStack_60[1] = *ppiVar15" (subscript_expression "apiStack_60[1]" identifier [ number_literal ]) = (pointer_expression "*ppiVar15" * identifier)) ;) (expression_statement "ppiVar16 = ppiVar15 + -1;" (assignment_expression "ppiVar16 = ppiVar15 + -1" identifier = (binary_expression "ppiVar15 + -1" identifier + number_literal)) ;) (if_statement "if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }" if (parenthesized_expression "(-1 < (char)*(byte *)(iVar8 + 0x92))" ( (binary_expression "-1 < (char)*(byte *)(iVar8 + 0x92)" number_literal < (cast_expression "(char)*(byte *)(iVar8 + 0x92)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)(iVar8 + 0x92)" * (cast_expression "(byte *)(iVar8 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x92)" ( (binary_expression "iVar8 + 0x92" identifier + number_literal) )))))) )) (compound_statement "{\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }" { (expression_statement "*(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;" (assignment_expression "*(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar8 + 0x92)" * (cast_expression "(byte *)(iVar8 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x92)" ( (binary_expression "iVar8 + 0x92" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar8 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar8 + 0x92)" * (cast_expression "(byte *)(iVar8 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x92)" ( (binary_expression "iVar8 + 0x92" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "iVar12 = piVar13[6];" (assignment_expression "iVar12 = piVar13[6]" identifier = (subscript_expression "piVar13[6]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = *(undefined4 *)(iVar12 + 8);" (assignment_expression "uVar7 = *(undefined4 *)(iVar12 + 8)" identifier = (pointer_expression "*(undefined4 *)(iVar12 + 8)" * (cast_expression "(undefined4 *)(iVar12 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);" (assignment_expression "*(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4)" (pointer_expression "*(undefined4 *)(iVar8 + 0x9c)" * (cast_expression "(undefined4 *)(iVar8 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x9c)" ( (binary_expression "iVar8 + 0x9c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar12 + 4)" * (cast_expression "(undefined4 *)(iVar12 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 4)" ( (binary_expression "iVar12 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(undefined4 *)(iVar12 + 0xc);" (assignment_expression "uVar3 = *(undefined4 *)(iVar12 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(iVar12 + 0xc)" * (cast_expression "(undefined4 *)(iVar12 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar8 + 0xa0) = uVar7;" (assignment_expression "*(undefined4 *)(iVar8 + 0xa0) = uVar7" (pointer_expression "*(undefined4 *)(iVar8 + 0xa0)" * (cast_expression "(undefined4 *)(iVar8 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xa0)" ( (binary_expression "iVar8 + 0xa0" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar7 = *(undefined4 *)(iVar12 + 0x10);" (assignment_expression "uVar7 = *(undefined4 *)(iVar12 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(iVar12 + 0x10)" * (cast_expression "(undefined4 *)(iVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x10)" ( (binary_expression "iVar12 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar8 + 0xa4) = uVar3;" (assignment_expression "*(undefined4 *)(iVar8 + 0xa4) = uVar3" (pointer_expression "*(undefined4 *)(iVar8 + 0xa4)" * (cast_expression "(undefined4 *)(iVar8 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xa4)" ( (binary_expression "iVar8 + 0xa4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar8 + 0xa8) = uVar7;" (assignment_expression "*(undefined4 *)(iVar8 + 0xa8) = uVar7" (pointer_expression "*(undefined4 *)(iVar8 + 0xa8)" * (cast_expression "(undefined4 *)(iVar8 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xa8)" ( (binary_expression "iVar8 + 0xa8" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppiVar16 = ppiVar15 + -1;" (assignment_expression "ppiVar16 = ppiVar15 + -1" identifier = (binary_expression "ppiVar15 + -1" identifier + number_literal)) ;) })) }))) }) (else_clause "else {\n    uVar1 = *(uint *)(*param_5 + 8);\n    uVar4 = (uVar1 & 0xff0000) >> 8;\n    if ((uVar4 & 0x200) == 0) goto LAB_0011f049;\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);\n    ppiVar16 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }" else (compound_statement "{\n    uVar1 = *(uint *)(*param_5 + 8);\n    uVar4 = (uVar1 & 0xff0000) >> 8;\n    if ((uVar4 & 0x200) == 0) goto LAB_0011f049;\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);\n    ppiVar16 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }" { (expression_statement "uVar1 = *(uint *)(*param_5 + 8);" (assignment_expression "uVar1 = *(uint *)(*param_5 + 8)" identifier = (pointer_expression "*(uint *)(*param_5 + 8)" * (cast_expression "(uint *)(*param_5 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_5 + 8)" ( (binary_expression "*param_5 + 8" (pointer_expression "*param_5" * identifier) + number_literal) ))))) ;) (expression_statement "uVar4 = (uVar1 & 0xff0000) >> 8;" (assignment_expression "uVar4 = (uVar1 & 0xff0000) >> 8" identifier = (binary_expression "(uVar1 & 0xff0000) >> 8" (parenthesized_expression "(uVar1 & 0xff0000)" ( (binary_expression "uVar1 & 0xff0000" identifier & number_literal) )) >> number_literal)) ;) (if_statement "if ((uVar4 & 0x200) == 0) goto LAB_0011f049;" if (parenthesized_expression "((uVar4 & 0x200) == 0)" ( (binary_expression "(uVar4 & 0x200) == 0" (parenthesized_expression "(uVar4 & 0x200)" ( (binary_expression "uVar4 & 0x200" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0011f049;" goto statement_identifier ;)) (expression_statement "apiStack_60[0] = (int *)0x0;" (assignment_expression "apiStack_60[0] = (int *)0x0" (subscript_expression "apiStack_60[0]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "apiStack_60[2] = &DAT_004144e8;" (assignment_expression "apiStack_60[2] = &DAT_004144e8" (subscript_expression "apiStack_60[2]" identifier [ number_literal ]) = (pointer_expression "&DAT_004144e8" & identifier)) ;) (expression_statement "uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);" (assignment_expression "uVar7 = FUN_001e3f80(param_1 + 8,param_4,1)" identifier = (call_expression "FUN_001e3f80(param_1 + 8,param_4,1)" identifier (argument_list "(param_1 + 8,param_4,1)" ( (binary_expression "param_1 + 8" identifier + number_literal) , identifier , number_literal )))) ;) (expression_statement "iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);" (assignment_expression "iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0)" identifier = (call_expression "FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0)" identifier (argument_list "(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0)" ( identifier , identifier , identifier , (binary_expression "uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18" (binary_expression "uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8" (binary_expression "uVar1 >> 0x18 | uVar4 & 0xfffff7ff" (binary_expression "uVar1 >> 0x18" identifier >> number_literal) | (binary_expression "uVar4 & 0xfffff7ff" identifier & number_literal)) | (binary_expression "(uVar1 & 0xff00) << 8" (parenthesized_expression "(uVar1 & 0xff00)" ( (binary_expression "uVar1 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar1 << 0x18" identifier << number_literal)) , number_literal , number_literal , number_literal )))) ;) (expression_statement "ppiVar16 = apiStack_60 + 1;" (assignment_expression "ppiVar16 = apiStack_60 + 1" identifier = (binary_expression "apiStack_60 + 1" identifier + number_literal)) ;) (expression_statement "apiStack_60[1] = apiStack_60[2];" (assignment_expression "apiStack_60[1] = apiStack_60[2]" (subscript_expression "apiStack_60[1]" identifier [ number_literal ]) = (subscript_expression "apiStack_60[2]" identifier [ number_literal ])) ;) }))) (labeled_statement "LAB_0011f150:\n  piVar13 = (int *)ppiVar16[0x18][1];" statement_identifier : (expression_statement "piVar13 = (int *)ppiVar16[0x18][1];" (assignment_expression "piVar13 = (int *)ppiVar16[0x18][1]" identifier = (cast_expression "(int *)ppiVar16[0x18][1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x18][1]" (subscript_expression "ppiVar16[0x18]" identifier [ number_literal ]) [ number_literal ]))) ;)) (expression_statement "piVar14 = *(int **)(*apiStack_60[1] + 8);" (assignment_expression "piVar14 = *(int **)(*apiStack_60[1] + 8)" identifier = (pointer_expression "*(int **)(*apiStack_60[1] + 8)" * (cast_expression "(int **)(*apiStack_60[1] + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*apiStack_60[1] + 8)" ( (binary_expression "*apiStack_60[1] + 8" (pointer_expression "*apiStack_60[1]" * (subscript_expression "apiStack_60[1]" identifier [ number_literal ])) + number_literal) ))))) ;) (expression_statement "ppiVar16[1] = piVar13;" (assignment_expression "ppiVar16[1] = piVar13" (subscript_expression "ppiVar16[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar11 = *(byte *)(piVar13 + 0x2b);" (assignment_expression "bVar11 = *(byte *)(piVar13 + 0x2b)" identifier = (pointer_expression "*(byte *)(piVar13 + 0x2b)" * (cast_expression "(byte *)(piVar13 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar13 + 0x2b)" ( (binary_expression "piVar13 + 0x2b" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = (uint)bVar11;" (assignment_expression "uVar9 = (uint)bVar11" identifier = (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (bVar11 != 0) {\n    if (piVar14 == (int *)0x0) goto LAB_0011f5b8;\n    goto LAB_0011f282;\n  }" if (parenthesized_expression "(bVar11 != 0)" ( (binary_expression "bVar11 != 0" identifier != number_literal) )) (compound_statement "{\n    if (piVar14 == (int *)0x0) goto LAB_0011f5b8;\n    goto LAB_0011f282;\n  }" { (if_statement "if (piVar14 == (int *)0x0) goto LAB_0011f5b8;" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0011f5b8;" goto statement_identifier ;)) (goto_statement "goto LAB_0011f282;" goto statement_identifier ;) })) (if_statement "if (piVar14 == (int *)0x0) {\nLAB_0011f5b8:\n    ppiVar16[0xffffffff] = (int *)uVar9;\n    ppiVar16[0xfffffffe] = (int *)"options";\n    ppiVar16[0xfffffffd] = (int *)0x5c;\n    ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    \n    ppiVar16[0xfffffffb] = (int *)0x11f5ce;\n    FUN_000da200();\n  }" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0011f5b8:\n    ppiVar16[0xffffffff] = (int *)uVar9;\n    ppiVar16[0xfffffffe] = (int *)"options";\n    ppiVar16[0xfffffffd] = (int *)0x5c;\n    ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    \n    ppiVar16[0xfffffffb] = (int *)0x11f5ce;\n    FUN_000da200();\n  }" { (labeled_statement "LAB_0011f5b8:\n    ppiVar16[0xffffffff] = (int *)uVar9;" statement_identifier : (expression_statement "ppiVar16[0xffffffff] = (int *)uVar9;" (assignment_expression "ppiVar16[0xffffffff] = (int *)uVar9" (subscript_expression "ppiVar16[0xffffffff]" identifier [ number_literal ]) = (cast_expression "(int *)uVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "ppiVar16[0xfffffffe] = (int *)"options";" (assignment_expression "ppiVar16[0xfffffffe] = (int *)"options"" (subscript_expression "ppiVar16[0xfffffffe]" identifier [ number_literal ]) = (cast_expression "(int *)"options"" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (string_literal ""options"" " string_content "))) ;) (expression_statement "ppiVar16[0xfffffffd] = (int *)0x5c;" (assignment_expression "ppiVar16[0xfffffffd] = (int *)0x5c" (subscript_expression "ppiVar16[0xfffffffd]" identifier [ number_literal ]) = (cast_expression "(int *)0x5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h";" (assignment_expression "ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h"" (subscript_expression "ppiVar16[0xfffffffc]" identifier [ number_literal ]) = (cast_expression "(int *)"../../gold/parameters.h"" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (string_literal ""../../gold/parameters.h"" " string_content "))) ;) (expression_statement "ppiVar16[0xfffffffb] = (int *)0x11f5ce;" (assignment_expression "ppiVar16[0xfffffffb] = (int *)0x11f5ce" (subscript_expression "ppiVar16[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(int *)0x11f5ce" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" identifier = false) ;) (expression_statement "bVar25 = *(char *)((int)piVar14 + 0x318d) == '\0';" (assignment_expression "bVar25 = *(char *)((int)piVar14 + 0x318d) == '\0'" identifier = (binary_expression "*(char *)((int)piVar14 + 0x318d) == '\0'" (pointer_expression "*(char *)((int)piVar14 + 0x318d)" * (cast_expression "(char *)((int)piVar14 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x318d)" ( (binary_expression "(int)piVar14 + 0x318d" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar25) goto LAB_0011f4a0;" if (parenthesized_expression "(!bVar25)" ( (unary_expression "!bVar25" ! identifier) )) (goto_statement "goto LAB_0011f4a0;" goto statement_identifier ;)) (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)".ctors.";" (assignment_expression "pbVar18 = (byte *)".ctors."" identifier = (cast_expression "(byte *)".ctors."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".ctors."" " string_content "))) ;) (expression_statement "pbVar20 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar20 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n    if (iVar12 == 0) break;\n    iVar12 = iVar12 + -1;\n    bVar22 = *pbVar18 < *pbVar20;\n    bVar25 = *pbVar18 == *pbVar20;\n    pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n  } while (bVar25);" do (compound_statement "{\n    if (iVar12 == 0) break;\n    iVar12 = iVar12 + -1;\n    bVar22 = *pbVar18 < *pbVar20;\n    bVar25 = *pbVar18 == *pbVar20;\n    pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n  }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar22 = *pbVar18 < *pbVar20;" (assignment_expression "bVar22 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar25 = *pbVar18 == *pbVar20;" (assignment_expression "bVar25 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar25)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar22 = (!bVar22 && !bVar25) == bVar22;" (assignment_expression "bVar22 = (!bVar22 && !bVar25) == bVar22" identifier = (binary_expression "(!bVar22 && !bVar25) == bVar22" (parenthesized_expression "(!bVar22 && !bVar25)" ( (binary_expression "!bVar22 && !bVar25" (unary_expression "!bVar22" ! identifier) && (unary_expression "!bVar25" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar22) {\nLAB_0011f238:\n    *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n    bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n    uVar9 = (uint)bVar11;\n    if (*(char *)((int)piVar14 + 0x3ced) == '\0') {\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }\n    if (bVar11 != 0) goto LAB_0011f282;\nLAB_0011f25d:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\n    if (*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0') goto LAB_0011f4b4;\n    if (cVar6 == '\0') {\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }\n  }\n  else {\n    iVar12 = 7;\n    pbVar18 = (byte *)".dtors.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar25 = false;\n    bVar22 = (!bVar23 && !bVar22) == bVar23;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".init_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar22 = (!bVar25 && !bVar22) == bVar25;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".fini_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;\n    bVar22 = false;\n    bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';\n    if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }\nLAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;\nLAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\nLAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }\n  }" if (parenthesized_expression "(bVar22)" ( identifier )) (compound_statement "{\nLAB_0011f238:\n    *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n    bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n    uVar9 = (uint)bVar11;\n    if (*(char *)((int)piVar14 + 0x3ced) == '\0') {\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }\n    if (bVar11 != 0) goto LAB_0011f282;\nLAB_0011f25d:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\n    if (*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0') goto LAB_0011f4b4;\n    if (cVar6 == '\0') {\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }\n  }" { (labeled_statement "LAB_0011f238:\n    *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;" statement_identifier : (expression_statement "*(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;" (assignment_expression "*(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8" (pointer_expression "*(byte *)(iVar8 + 0x91)" * (cast_expression "(byte *)(iVar8 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x91)" ( (binary_expression "iVar8 + 0x91" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar8 + 0x91) | 8" (pointer_expression "*(byte *)(iVar8 + 0x91)" * (cast_expression "(byte *)(iVar8 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x91)" ( (binary_expression "iVar8 + 0x91" identifier + number_literal) )))) | number_literal)) ;)) (expression_statement "bVar11 = *(byte *)(ppiVar16[1] + 0x2b);" (assignment_expression "bVar11 = *(byte *)(ppiVar16[1] + 0x2b)" identifier = (pointer_expression "*(byte *)(ppiVar16[1] + 0x2b)" * (cast_expression "(byte *)(ppiVar16[1] + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar16[1] + 0x2b)" ( (binary_expression "ppiVar16[1] + 0x2b" (subscript_expression "ppiVar16[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "uVar9 = (uint)bVar11;" (assignment_expression "uVar9 = (uint)bVar11" identifier = (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (*(char *)((int)piVar14 + 0x3ced) == '\0') {\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }" if (parenthesized_expression "(*(char *)((int)piVar14 + 0x3ced) == '\0')" ( (binary_expression "*(char *)((int)piVar14 + 0x3ced) == '\0'" (pointer_expression "*(char *)((int)piVar14 + 0x3ced)" * (cast_expression "(char *)((int)piVar14 + 0x3ced)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x3ced)" ( (binary_expression "(int)piVar14 + 0x3ced" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }" { (labeled_statement "LAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;" statement_identifier : (if_statement "if (bVar11 != 0) goto LAB_0011f282;" if (parenthesized_expression "(bVar11 != 0)" ( (binary_expression "bVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011f282;" goto statement_identifier ;))) (goto_statement "goto LAB_0011f4ad;" goto statement_identifier ;) })) (if_statement "if (bVar11 != 0) goto LAB_0011f282;" if (parenthesized_expression "(bVar11 != 0)" ( (binary_expression "bVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011f282;" goto statement_identifier ;)) (labeled_statement "LAB_0011f25d:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);" statement_identifier : (expression_statement "cVar6 = *(char *)((int)piVar14 + 0x318d);" (assignment_expression "cVar6 = *(char *)((int)piVar14 + 0x318d)" identifier = (pointer_expression "*(char *)((int)piVar14 + 0x318d)" * (cast_expression "(char *)((int)piVar14 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x318d)" ( (binary_expression "(int)piVar14 + 0x318d" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (if_statement "if (*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0') goto LAB_0011f4b4;" if (parenthesized_expression "(*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0')" ( (binary_expression "*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0'" (pointer_expression "*(char *)((int)ppiVar16[0x18] + 0x1cd)" * (cast_expression "(char *)((int)ppiVar16[0x18] + 0x1cd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16[0x18] + 0x1cd)" ( (binary_expression "(int)ppiVar16[0x18] + 0x1cd" (cast_expression "(int)ppiVar16[0x18]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppiVar16[0x18]" identifier [ number_literal ])) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0011f4b4;" goto statement_identifier ;)) (if_statement "if (cVar6 == '\0') {\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }" { (expression_statement "ppiVar16[3] = piVar14;" (assignment_expression "ppiVar16[3] = piVar14" (subscript_expression "ppiVar16[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppuVar19 = &PTR_s__text_unlikely_00407080;" (assignment_expression "ppuVar19 = &PTR_s__text_unlikely_00407080" identifier = (pointer_expression "&PTR_s__text_unlikely_00407080" & identifier)) ;) (expression_statement "ppiVar16[2] = (int *)&PTR_s_aranges_00407090;" (assignment_expression "ppiVar16[2] = (int *)&PTR_s_aranges_00407090" (subscript_expression "ppiVar16[2]" identifier [ number_literal ]) = (cast_expression "(int *)&PTR_s_aranges_00407090" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&PTR_s_aranges_00407090" & identifier))) ;) (expression_statement "pcVar21 = ".text.unlikely";" (assignment_expression "pcVar21 = ".text.unlikely"" identifier = (string_literal "".text.unlikely"" " string_content ")) ;) (expression_statement "sVar10 = 0xe;" (assignment_expression "sVar10 = 0xe" identifier = number_literal) ;) (while_statement "while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }" { (expression_statement "ppiVar16[0xfffffffe] = (int *)sVar10;" (assignment_expression "ppiVar16[0xfffffffe] = (int *)sVar10" (subscript_expression "ppiVar16[0xfffffffe]" identifier [ number_literal ]) = (cast_expression "(int *)sVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar16[0xfffffffd] = ppiVar16[0x1b];" (assignment_expression "ppiVar16[0xfffffffd] = ppiVar16[0x1b]" (subscript_expression "ppiVar16[0xfffffffd]" identifier [ number_literal ]) = (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ])) ;) (expression_statement "ppiVar16[0xfffffffc] = (int *)pcVar21;" (assignment_expression "ppiVar16[0xfffffffc] = (int *)pcVar21" (subscript_expression "ppiVar16[0xfffffffc]" identifier [ number_literal ]) = (cast_expression "(int *)pcVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar16[0xfffffffb] = (int *)0x11f62d;" (assignment_expression "ppiVar16[0xfffffffb] = (int *)0x11f62d" (subscript_expression "ppiVar16[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(int *)0x11f62d" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);" (assignment_expression "iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe])" identifier = (call_expression "strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe])" identifier (argument_list "((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe])" ( (cast_expression "(char *)ppiVar16[0xfffffffc]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0xfffffffc]" identifier [ number_literal ])) , (cast_expression "(char *)ppiVar16[0xfffffffd]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0xfffffffd]" identifier [ number_literal ])) , (cast_expression "(size_t)ppiVar16[0xfffffffe]" ( (type_descriptor "size_t" primitive_type) ) (subscript_expression "ppiVar16[0xfffffffe]" identifier [ number_literal ])) )))) ;) (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "ppuVar19 = ppuVar19 + 1;" (assignment_expression "ppuVar19 = ppuVar19 + 1" identifier = (binary_expression "ppuVar19 + 1" identifier + number_literal)) ;) (if_statement "if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;" if (parenthesized_expression "((undefined **)ppiVar16[2] == ppuVar19)" ( (binary_expression "(undefined **)ppiVar16[2] == ppuVar19" (cast_expression "(undefined **)ppiVar16[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppiVar16[2]" identifier [ number_literal ])) == identifier) )) (goto_statement "goto LAB_0011f4bc;" goto statement_identifier ;)) (expression_statement "pcVar21 = *ppuVar19;" (assignment_expression "pcVar21 = *ppuVar19" identifier = (pointer_expression "*ppuVar19" * identifier)) ;) (expression_statement "ppiVar16[0xfffffffc] = (int *)pcVar21;" (assignment_expression "ppiVar16[0xfffffffc] = (int *)pcVar21" (subscript_expression "ppiVar16[0xfffffffc]" identifier [ number_literal ]) = (cast_expression "(int *)pcVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar16[0xfffffffb] = (int *)0x11f64c;" (assignment_expression "ppiVar16[0xfffffffb] = (int *)0x11f64c" (subscript_expression "ppiVar16[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(int *)0x11f64c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = strlen((char *)ppiVar16[0xfffffffc]);" (assignment_expression "sVar10 = strlen((char *)ppiVar16[0xfffffffc])" identifier = (call_expression "strlen((char *)ppiVar16[0xfffffffc])" identifier (argument_list "((char *)ppiVar16[0xfffffffc])" ( (cast_expression "(char *)ppiVar16[0xfffffffc]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0xfffffffc]" identifier [ number_literal ])) )))) ;) })) (expression_statement "piVar14 = ppiVar16[3];" (assignment_expression "piVar14 = ppiVar16[3]" identifier = (subscript_expression "ppiVar16[3]" identifier [ number_literal ])) ;) (expression_statement "*(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;" (assignment_expression "*(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8" (pointer_expression "*(byte *)(iVar8 + 0x91)" * (cast_expression "(byte *)(iVar8 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x91)" ( (binary_expression "iVar8 + 0x91" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar8 + 0x91) | 8" (pointer_expression "*(byte *)(iVar8 + 0x91)" * (cast_expression "(byte *)(iVar8 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x91)" ( (binary_expression "iVar8 + 0x91" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "bVar11 = *(byte *)(ppiVar16[1] + 0x2b);" (assignment_expression "bVar11 = *(byte *)(ppiVar16[1] + 0x2b)" identifier = (pointer_expression "*(byte *)(ppiVar16[1] + 0x2b)" * (cast_expression "(byte *)(ppiVar16[1] + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar16[1] + 0x2b)" ( (binary_expression "ppiVar16[1] + 0x2b" (subscript_expression "ppiVar16[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "uVar9 = (uint)bVar11;" (assignment_expression "uVar9 = (uint)bVar11" identifier = (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_0011f5e9;" goto statement_identifier ;) })) }) (else_clause "else {\n    iVar12 = 7;\n    pbVar18 = (byte *)".dtors.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar25 = false;\n    bVar22 = (!bVar23 && !bVar22) == bVar23;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".init_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar22 = (!bVar25 && !bVar22) == bVar25;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".fini_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;\n    bVar22 = false;\n    bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';\n    if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }\nLAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;\nLAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\nLAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }\n  }" else (compound_statement "{\n    iVar12 = 7;\n    pbVar18 = (byte *)".dtors.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar25 = false;\n    bVar22 = (!bVar23 && !bVar22) == bVar23;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".init_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar22 = (!bVar25 && !bVar22) == bVar25;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".fini_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;\n    bVar22 = false;\n    bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';\n    if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }\nLAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;\nLAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\nLAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }\n  }" { (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)".dtors.";" (assignment_expression "pbVar18 = (byte *)".dtors."" identifier = (cast_expression "(byte *)".dtors."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".dtors."" " string_content "))) ;) (expression_statement "pbVar20 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar20 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);" do (compound_statement "{\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar18 < *pbVar20;" (assignment_expression "bVar23 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar22 = (!bVar23 && !bVar22) == bVar23;" (assignment_expression "bVar22 = (!bVar23 && !bVar22) == bVar23" identifier = (binary_expression "(!bVar23 && !bVar22) == bVar23" (parenthesized_expression "(!bVar23 && !bVar22)" ( (binary_expression "!bVar23 && !bVar22" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar22) goto LAB_0011f238;" if (parenthesized_expression "(bVar22)" ( identifier )) (goto_statement "goto LAB_0011f238;" goto statement_identifier ;)) (expression_statement "iVar12 = 0xc;" (assignment_expression "iVar12 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)".init_array.";" (assignment_expression "pbVar18 = (byte *)".init_array."" identifier = (cast_expression "(byte *)".init_array."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".init_array."" " string_content "))) ;) (expression_statement "pbVar20 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar20 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);" do (compound_statement "{\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar18 < *pbVar20;" (assignment_expression "bVar25 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar22 = (!bVar25 && !bVar22) == bVar25;" (assignment_expression "bVar22 = (!bVar25 && !bVar22) == bVar25" identifier = (binary_expression "(!bVar25 && !bVar22) == bVar25" (parenthesized_expression "(!bVar25 && !bVar22)" ( (binary_expression "!bVar25 && !bVar22" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar22) goto LAB_0011f238;" if (parenthesized_expression "(bVar22)" ( identifier )) (goto_statement "goto LAB_0011f238;" goto statement_identifier ;)) (expression_statement "iVar12 = 0xc;" (assignment_expression "iVar12 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)".fini_array.";" (assignment_expression "pbVar18 = (byte *)".fini_array."" identifier = (cast_expression "(byte *)".fini_array."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".fini_array."" " string_content "))) ;) (expression_statement "pbVar20 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar20 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);" do (compound_statement "{\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar18 < *pbVar20;" (assignment_expression "bVar23 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (if_statement "if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;" if (parenthesized_expression "((!bVar23 && !bVar22) == bVar23)" ( (binary_expression "(!bVar23 && !bVar22) == bVar23" (parenthesized_expression "(!bVar23 && !bVar22)" ( (binary_expression "!bVar23 && !bVar22" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier) )) (goto_statement "goto LAB_0011f238;" goto statement_identifier ;)) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" identifier = false) ;) (expression_statement "bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';" (assignment_expression "bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0'" identifier = (binary_expression "*(char *)((int)piVar14 + 0xad5) == '\0'" (pointer_expression "*(char *)((int)piVar14 + 0xad5)" * (cast_expression "(char *)((int)piVar14 + 0xad5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0xad5)" ( (binary_expression "(int)piVar14 + 0xad5" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }" if (parenthesized_expression "(!bVar25)" ( (unary_expression "!bVar25" ! identifier) )) (compound_statement "{\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }" { (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (expression_statement "pbVar20 = (byte *)".ctors";" (assignment_expression "pbVar20 = (byte *)".ctors"" identifier = (cast_expression "(byte *)".ctors"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".ctors"" " string_content "))) ;) (do_statement "do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);" do (compound_statement "{\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar22 = *pbVar18 < *pbVar20;" (assignment_expression "bVar22 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar25 = *pbVar18 == *pbVar20;" (assignment_expression "bVar25 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar25)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar22 = (!bVar22 && !bVar25) == bVar22;" (assignment_expression "bVar22 = (!bVar22 && !bVar25) == bVar22" identifier = (binary_expression "(!bVar22 && !bVar25) == bVar22" (parenthesized_expression "(!bVar22 && !bVar25)" ( (binary_expression "!bVar22 && !bVar25" (unary_expression "!bVar22" ! identifier) && (unary_expression "!bVar25" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }" if (parenthesized_expression "(!bVar22)" ( (unary_expression "!bVar22" ! identifier) )) (compound_statement "{\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }" { (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (expression_statement "pbVar20 = (byte *)".dtors";" (assignment_expression "pbVar20 = (byte *)".dtors"" identifier = (cast_expression "(byte *)".dtors"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".dtors"" " string_content "))) ;) (do_statement "do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);" do (compound_statement "{\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar18 < *pbVar20;" (assignment_expression "bVar23 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (if_statement "if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;" if (parenthesized_expression "((!bVar23 && !bVar22) != bVar23)" ( (binary_expression "(!bVar23 && !bVar22) != bVar23" (parenthesized_expression "(!bVar23 && !bVar22)" ( (binary_expression "!bVar23 && !bVar22" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_0011f4a0;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0011f238;" goto statement_identifier ;) })) (labeled_statement "LAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;" statement_identifier : (if_statement "if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;" if (parenthesized_expression "(*(char *)((int)piVar14 + 0x3ced) != '\0')" ( (binary_expression "*(char *)((int)piVar14 + 0x3ced) != '\0'" (pointer_expression "*(char *)((int)piVar14 + 0x3ced)" * (cast_expression "(char *)((int)piVar14 + 0x3ced)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x3ced)" ( (binary_expression "(int)piVar14 + 0x3ced" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0011f25d;" goto statement_identifier ;))) (labeled_statement "LAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);" statement_identifier : (expression_statement "cVar6 = *(char *)((int)piVar14 + 0x318d);" (assignment_expression "cVar6 = *(char *)((int)piVar14 + 0x318d)" identifier = (pointer_expression "*(char *)((int)piVar14 + 0x318d)" * (cast_expression "(char *)((int)piVar14 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x318d)" ( (binary_expression "(int)piVar14 + 0x318d" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (labeled_statement "LAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }" statement_identifier : (if_statement "if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }" { (labeled_statement "LAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);" statement_identifier : (expression_statement "uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);" (assignment_expression "uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14)" identifier = (pointer_expression "*(uint *)(*ppiVar16[0x1c] + 0x14)" * (cast_expression "(uint *)(*ppiVar16[0x1c] + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppiVar16[0x1c] + 0x14)" ( (binary_expression "*ppiVar16[0x1c] + 0x14" (pointer_expression "*ppiVar16[0x1c]" * (subscript_expression "ppiVar16[0x1c]" identifier [ number_literal ])) + number_literal) ))))) ;)) (expression_statement "uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "bVar22 = uVar9 < 4;" (assignment_expression "bVar22 = uVar9 < 4" identifier = (binary_expression "uVar9 < 4" identifier < number_literal)) ;) (expression_statement "bVar25 = uVar9 == 4;" (assignment_expression "bVar25 = uVar9 == 4" identifier = (binary_expression "uVar9 == 4" identifier == number_literal)) ;) (if_statement "if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }" if (parenthesized_expression "(4 < uVar9)" ( (binary_expression "4 < uVar9" number_literal < identifier) )) (compound_statement "{\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }" { (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (expression_statement "pbVar20 = (byte *)".ctors";" (assignment_expression "pbVar20 = (byte *)".ctors"" identifier = (cast_expression "(byte *)".ctors"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".ctors"" " string_content "))) ;) (do_statement "do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);" do (compound_statement "{\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar22 = *pbVar18 < *pbVar20;" (assignment_expression "bVar22 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar25 = *pbVar18 == *pbVar20;" (assignment_expression "bVar25 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar25)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar22 = (!bVar22 && !bVar25) == bVar22;" (assignment_expression "bVar22 = (!bVar22 && !bVar25) == bVar22" identifier = (binary_expression "(!bVar22 && !bVar25) == bVar22" (parenthesized_expression "(!bVar22 && !bVar25)" ( (binary_expression "!bVar22 && !bVar25" (unary_expression "!bVar22" ! identifier) && (unary_expression "!bVar25" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }" if (parenthesized_expression "(bVar22)" ( identifier )) (compound_statement "{\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }" { (labeled_statement "LAB_0011f504:\n          bVar25 = false;" statement_identifier : (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;)) (expression_statement "iVar12 = 0xc;" (assignment_expression "iVar12 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar18 = *(byte **)(iVar8 + 0x20);" (assignment_expression "pbVar18 = *(byte **)(iVar8 + 0x20)" identifier = (pointer_expression "*(byte **)(iVar8 + 0x20)" * (cast_expression "(byte **)(iVar8 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x20)" ( (binary_expression "iVar8 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pbVar20 = (byte *)".init_array";" (assignment_expression "pbVar20 = (byte *)".init_array"" identifier = (cast_expression "(byte *)".init_array"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".init_array"" " string_content "))) ;) (do_statement "do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);" do (compound_statement "{\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar18 < *pbVar20;" (assignment_expression "bVar25 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (expression_statement "bVar22 = (!bVar25 && !bVar22) == bVar25;" (assignment_expression "bVar22 = (!bVar25 && !bVar22) == bVar25" identifier = (binary_expression "(!bVar25 && !bVar22) == bVar25" (parenthesized_expression "(!bVar25 && !bVar22)" ( (binary_expression "!bVar25 && !bVar22" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar22) goto LAB_0011f570;" if (parenthesized_expression "(!bVar22)" ( (unary_expression "!bVar22" ! identifier) )) (goto_statement "goto LAB_0011f570;" goto statement_identifier ;)) }) (else_clause "else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }" else (compound_statement "{\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }" { (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)".ctors.";" (assignment_expression "pbVar18 = (byte *)".ctors."" identifier = (cast_expression "(byte *)".ctors."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".ctors."" " string_content "))) ;) (expression_statement "pbVar20 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar20 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);" do (compound_statement "{\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar18 < *pbVar20;" (assignment_expression "bVar23 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (expression_statement "bVar22 = (!bVar23 && !bVar22) == bVar23;" (assignment_expression "bVar22 = (!bVar23 && !bVar22) == bVar23" identifier = (binary_expression "(!bVar23 && !bVar22) == bVar23" (parenthesized_expression "(!bVar23 && !bVar22)" ( (binary_expression "!bVar23 && !bVar22" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar22) goto LAB_0011f504;" if (parenthesized_expression "(bVar22)" ( identifier )) (goto_statement "goto LAB_0011f504;" goto statement_identifier ;)) (labeled_statement "LAB_0011f570:\n          bVar25 = false;" statement_identifier : (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;)) (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (expression_statement "pbVar20 = (byte *)".dtors";" (assignment_expression "pbVar20 = (byte *)".dtors"" identifier = (cast_expression "(byte *)".dtors"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".dtors"" " string_content "))) ;) (do_statement "do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);" do (compound_statement "{\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar18 < *pbVar20;" (assignment_expression "bVar25 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar22 = (!bVar25 && !bVar22) == bVar25;" (assignment_expression "bVar22 = (!bVar25 && !bVar22) == bVar25" identifier = (binary_expression "(!bVar25 && !bVar22) == bVar25" (parenthesized_expression "(!bVar25 && !bVar22)" ( (binary_expression "!bVar25 && !bVar22" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }" if (parenthesized_expression "(!bVar22)" ( (unary_expression "!bVar22" ! identifier) )) (compound_statement "{\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }" { (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)".dtors.";" (assignment_expression "pbVar18 = (byte *)".dtors."" identifier = (cast_expression "(byte *)".dtors."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".dtors."" " string_content "))) ;) (expression_statement "pbVar20 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar20 = (byte *)ppiVar16[0x1b]" identifier = (cast_expression "(byte *)ppiVar16[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar16[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);" do (compound_statement "{\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar18 < *pbVar20;" (assignment_expression "bVar23 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (expression_statement "bVar22 = (!bVar23 && !bVar22) == bVar23;" (assignment_expression "bVar22 = (!bVar23 && !bVar22) == bVar23" identifier = (binary_expression "(!bVar23 && !bVar22) == bVar23" (parenthesized_expression "(!bVar23 && !bVar22)" ( (binary_expression "!bVar23 && !bVar22" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar22) goto LAB_0011f280;" if (parenthesized_expression "(!bVar22)" ( (unary_expression "!bVar22" ! identifier) )) (goto_statement "goto LAB_0011f280;" goto statement_identifier ;)) })) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "iVar12 = 0xc;" (assignment_expression "iVar12 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar18 = *(byte **)(iVar8 + 0x20);" (assignment_expression "pbVar18 = *(byte **)(iVar8 + 0x20)" identifier = (pointer_expression "*(byte **)(iVar8 + 0x20)" * (cast_expression "(byte **)(iVar8 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x20)" ( (binary_expression "iVar8 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pbVar20 = (byte *)".fini_array";" (assignment_expression "pbVar20 = (byte *)".fini_array"" identifier = (cast_expression "(byte *)".fini_array"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".fini_array"" " string_content "))) ;) (do_statement "do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);" do (compound_statement "{\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          }" { (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar18 < *pbVar20;" (assignment_expression "bVar25 = *pbVar18 < *pbVar20" identifier = (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" identifier = (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (if_statement "if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;" if (parenthesized_expression "((!bVar25 && !bVar22) != bVar25)" ( (binary_expression "(!bVar25 && !bVar22) != bVar25" (parenthesized_expression "(!bVar25 && !bVar22)" ( (binary_expression "!bVar25 && !bVar22" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_0011f280;" goto statement_identifier ;)) }))) (expression_statement "ppiVar16[10] = ppiVar16[0x19];" (assignment_expression "ppiVar16[10] = ppiVar16[0x19]" (subscript_expression "ppiVar16[10]" identifier [ number_literal ]) = (subscript_expression "ppiVar16[0x19]" identifier [ number_literal ])) ;) (expression_statement "ppiVar16[0xb] = ppiVar16[0x1a];" (assignment_expression "ppiVar16[0xb] = ppiVar16[0x1a]" (subscript_expression "ppiVar16[0xb]" identifier [ number_literal ]) = (subscript_expression "ppiVar16[0x1a]" identifier [ number_literal ])) ;) (expression_statement "ppiVar16[9] = &DAT_00414774;" (assignment_expression "ppiVar16[9] = &DAT_00414774" (subscript_expression "ppiVar16[9]" identifier [ number_literal ]) = (pointer_expression "&DAT_00414774" & identifier)) ;) (expression_statement "ppiVar16[0xfffffffd] = (int *)0x1;" (assignment_expression "ppiVar16[0xfffffffd] = (int *)0x1" (subscript_expression "ppiVar16[0xfffffffd]" identifier [ number_literal ]) = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar16[0xfffffffc] = (int *)0x0;" (assignment_expression "ppiVar16[0xfffffffc] = (int *)0x0" (subscript_expression "ppiVar16[0xfffffffc]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);" (assignment_expression "ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9)" (subscript_expression "ppiVar16[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(int *)(ppiVar16 + 9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar16 + 9)" ( (binary_expression "ppiVar16 + 9" identifier + number_literal) )))) ;) (expression_statement "ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);" (assignment_expression "ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10)" (subscript_expression "ppiVar16[0xfffffffa]" identifier [ number_literal ]) = (cast_expression "(int *)(ppiVar16 + 10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar16 + 10)" ( (binary_expression "ppiVar16 + 10" identifier + number_literal) )))) ;) (expression_statement "ppiVar16[0xfffffff9] = &DAT_00414774;" (assignment_expression "ppiVar16[0xfffffff9] = &DAT_00414774" (subscript_expression "ppiVar16[0xfffffff9]" identifier [ number_literal ]) = (pointer_expression "&DAT_00414774" & identifier)) ;) (expression_statement "ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);" (assignment_expression "ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4)" (subscript_expression "ppiVar16[0xfffffff8]" identifier [ number_literal ]) = (cast_expression "(int *)(ppiVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar16 + 4)" ( (binary_expression "ppiVar16 + 4" identifier + number_literal) )))) ;) (expression_statement "ppiVar16[0xfffffff7] = (int *)0x11f553;" (assignment_expression "ppiVar16[0xfffffff7] = (int *)0x11f553" (subscript_expression "ppiVar16[0xfffffff7]" identifier [ number_literal ]) = (cast_expression "(int *)0x11f553" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000a8d90();" (call_expression "FUN_000a8d90()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppiVar15 = ppiVar16 + 0x17;" (assignment_expression "ppiVar15 = ppiVar16 + 0x17" identifier = (binary_expression "ppiVar16 + 0x17" identifier + number_literal)) ;) (expression_statement "ppiVar16 = ppiVar16 + 0xffffffff;" (assignment_expression "ppiVar16 = ppiVar16 + 0xffffffff" identifier = (binary_expression "ppiVar16 + 0xffffffff" identifier + number_literal)) ;) (expression_statement "uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);" (assignment_expression "uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac)" identifier = (binary_expression "(uint)*(byte *)((*ppiVar15)[1] + 0xac)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((*ppiVar15)[1] + 0xac)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*ppiVar15)[1] + 0xac)" ( (binary_expression "(*ppiVar15)[1] + 0xac" (subscript_expression "(*ppiVar15)[1]" (parenthesized_expression "(*ppiVar15)" ( (pointer_expression "*ppiVar15" * identifier) )) [ number_literal ]) + number_literal) ))))) ;) (goto_statement "goto LAB_0011f282;" goto statement_identifier ;) })) }))) }))) (labeled_statement "LAB_0011f280:\n  uVar9 = 0;" statement_identifier : (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_0011f282:\n  uVar1 = *(uint *)(iVar8 + 0x54);" statement_identifier : (expression_statement "uVar1 = *(uint *)(iVar8 + 0x54);" (assignment_expression "uVar1 = *(uint *)(iVar8 + 0x54)" identifier = (pointer_expression "*(uint *)(iVar8 + 0x54)" * (cast_expression "(uint *)(iVar8 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x54)" ( (binary_expression "iVar8 + 0x54" identifier + number_literal) ))))) ;)) (expression_statement "*(uint *)((int)ppiVar16 + -4) = uVar9;" (assignment_expression "*(uint *)((int)ppiVar16 + -4) = uVar9" (pointer_expression "*(uint *)((int)ppiVar16 + -4)" * (cast_expression "(uint *)((int)ppiVar16 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -4)" ( (binary_expression "(int)ppiVar16 + -4" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar16 + -8) = *(undefined4 *)((int)ppiVar16 + 0x78);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -8) = *(undefined4 *)((int)ppiVar16 + 0x78)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -8)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -8)" ( (binary_expression "(int)ppiVar16 + -8" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar16 + 0x78)" * (cast_expression "(undefined4 *)((int)ppiVar16 + 0x78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + 0x78)" ( (binary_expression "(int)ppiVar16 + 0x78" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0xc) = *(undefined4 *)((int)ppiVar16 + 0x70);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0xc) = *(undefined4 *)((int)ppiVar16 + 0x70)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0xc)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0xc)" ( (binary_expression "(int)ppiVar16 + -0xc" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar16 + 0x70)" * (cast_expression "(undefined4 *)((int)ppiVar16 + 0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + 0x70)" ( (binary_expression "(int)ppiVar16 + 0x70" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x6c);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x6c)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x10)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0x10)" ( (binary_expression "(int)ppiVar16 + -0x10" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar16 + 0x6c)" * (cast_expression "(undefined4 *)((int)ppiVar16 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + 0x6c)" ( (binary_expression "(int)ppiVar16 + 0x6c" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x14) = *(undefined4 *)((int)ppiVar16 + 0x68);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x14) = *(undefined4 *)((int)ppiVar16 + 0x68)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0x14)" ( (binary_expression "(int)ppiVar16 + -0x14" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar16 + 0x68)" * (cast_expression "(undefined4 *)((int)ppiVar16 + 0x68)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + 0x68)" ( (binary_expression "(int)ppiVar16 + 0x68" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x18) = *(undefined4 *)((int)ppiVar16 + 100);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x18) = *(undefined4 *)((int)ppiVar16 + 100)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x18)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0x18)" ( (binary_expression "(int)ppiVar16 + -0x18" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar16 + 100)" * (cast_expression "(undefined4 *)((int)ppiVar16 + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + 100)" ( (binary_expression "(int)ppiVar16 + 100" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x1c) = *(undefined4 *)((int)ppiVar16 + 0x60);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x1c) = *(undefined4 *)((int)ppiVar16 + 0x60)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x1c)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0x1c)" ( (binary_expression "(int)ppiVar16 + -0x1c" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar16 + 0x60)" * (cast_expression "(undefined4 *)((int)ppiVar16 + 0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + 0x60)" ( (binary_expression "(int)ppiVar16 + 0x60" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(int *)((int)ppiVar16 + -0x20) = iVar8;" (assignment_expression "*(int *)((int)ppiVar16 + -0x20) = iVar8" (pointer_expression "*(int *)((int)ppiVar16 + -0x20)" * (cast_expression "(int *)((int)ppiVar16 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0x20)" ( (binary_expression "(int)ppiVar16 + -0x20" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x24) = 0x11f2a4;" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x24) = 0x11f2a4" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x24)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0x24)" ( (binary_expression "(int)ppiVar16 + -0x24" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar28 = FUN_00191bd0();" (assignment_expression "uVar28 = FUN_00191bd0()" identifier = (call_expression "FUN_00191bd0()" identifier (argument_list "()" ( )))) ;) (expression_statement "**(undefined8 **)((int)ppiVar16 + 0x80) = uVar28;" (assignment_expression "**(undefined8 **)((int)ppiVar16 + 0x80) = uVar28" (pointer_expression "**(undefined8 **)((int)ppiVar16 + 0x80)" * (pointer_expression "*(undefined8 **)((int)ppiVar16 + 0x80)" * (cast_expression "(undefined8 **)((int)ppiVar16 + 0x80)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar16 + 0x80)" ( (binary_expression "(int)ppiVar16 + 0x80" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) = identifier) ;) (if_statement "if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar16 + -8) = 0;\n    *(int *)((int)ppiVar16 + -0xc) = iVar8;\n    *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60);\n    *(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2;\n    uVar7 = FUN_00107cf0();\n    *(undefined4 *)(iVar8 + 0x5c) = uVar7;\n  }" if (parenthesized_expression "(((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0))" ( (binary_expression "((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0)" (parenthesized_expression "((uVar1 & 2) != 0)" ( (binary_expression "(uVar1 & 2) != 0" (parenthesized_expression "(uVar1 & 2)" ( (binary_expression "uVar1 & 2" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0)" ( (binary_expression "((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0" (parenthesized_expression "((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5)" ( (binary_expression "(uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5" (parenthesized_expression "(uVar1 ^ *(uint *)(iVar8 + 0x54))" ( (binary_expression "uVar1 ^ *(uint *)(iVar8 + 0x54)" identifier ^ (pointer_expression "*(uint *)(iVar8 + 0x54)" * (cast_expression "(uint *)(iVar8 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x54)" ( (binary_expression "iVar8 + 0x54" identifier + number_literal) ))))) )) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    *(undefined4 *)((int)ppiVar16 + -8) = 0;\n    *(int *)((int)ppiVar16 + -0xc) = iVar8;\n    *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60);\n    *(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2;\n    uVar7 = FUN_00107cf0();\n    *(undefined4 *)(iVar8 + 0x5c) = uVar7;\n  }" { (expression_statement "*(undefined4 *)((int)ppiVar16 + -8) = 0;" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -8) = 0" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -8)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -8)" ( (binary_expression "(int)ppiVar16 + -8" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppiVar16 + -0xc) = iVar8;" (assignment_expression "*(int *)((int)ppiVar16 + -0xc) = iVar8" (pointer_expression "*(int *)((int)ppiVar16 + -0xc)" * (cast_expression "(int *)((int)ppiVar16 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0xc)" ( (binary_expression "(int)ppiVar16 + -0xc" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x10)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0x10)" ( (binary_expression "(int)ppiVar16 + -0x10" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar16 + 0x60)" * (cast_expression "(undefined4 *)((int)ppiVar16 + 0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + 0x60)" ( (binary_expression "(int)ppiVar16 + 0x60" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2;" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + -0x14)" ( (binary_expression "(int)ppiVar16 + -0x14" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = FUN_00107cf0();" (assignment_expression "uVar7 = FUN_00107cf0()" identifier = (call_expression "FUN_00107cf0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar8 + 0x5c) = uVar7;" (assignment_expression "*(undefined4 *)(iVar8 + 0x5c) = uVar7" (pointer_expression "*(undefined4 *)(iVar8 + 0x5c)" * (cast_expression "(undefined4 *)(iVar8 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x5c)" ( (binary_expression "iVar8 + 0x5c" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "*(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4) = 1;" (assignment_expression "*(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4) = 1" (pointer_expression "*(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4)" * (cast_expression "(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)ppiVar16 + 0x60) + 0x1c4)" ( (binary_expression "*(int *)((int)ppiVar16 + 0x60) + 0x1c4" (pointer_expression "*(int *)((int)ppiVar16 + 0x60)" * (cast_expression "(int *)((int)ppiVar16 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar16 + 0x60)" ( (binary_expression "(int)ppiVar16 + 0x60" (cast_expression "(int)ppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) = number_literal) ;) (return_statement "return iVar8;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! (cast_expression ( (type_descriptor TYPE) ) IDENT)) && (unary_expression ! (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) == (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (subscript_expression IDENT [ LIT ]) , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (subscript_expression IDENT [ LIT ]) , IDENT , (binary_expression (binary_expression IDENT | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) , LIT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT | IDENT) | (binary_expression IDENT << LIT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * IDENT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT | IDENT) | (binary_expression IDENT << LIT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT & LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) , LIT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (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 (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence '))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (labeled_statement 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (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 IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])) == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence '))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]) + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT) )))) = LIT) ;) (return_statement return IDENT ;) })))
(function_definition "int FUN_0011efd0(int param_1,int *param_2,undefined4 param_3,int *param_4,int *param_5,\n                undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 *param_9)\n\n{\n  uint uVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  uint uVar5;\n  char cVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  size_t sVar10;\n  byte bVar11;\n  int iVar12;\n  int *piVar13;\n  int *piVar14;\n  int **ppiVar15;\n  int **ppiVar16;\n  int **ppiVar17;\n  byte *pbVar18;\n  undefined **ppuVar19;\n  byte *pbVar20;\n  char *pcVar21;\n  bool bVar22;\n  bool bVar23;\n  undefined1 uVar24;\n  bool bVar25;\n  undefined1 uVar26;\n  byte bVar27;\n  undefined8 uVar28;\n  int unaff_retaddr;\n  int *apiStackY_8c [3];\n  int *apiStack_60 [8];\n  int *local_40 [3];\n  undefined1 local_34 [4];\n  byte local_30 [28];\n  undefined4 uStack_14;\n  \n  bVar27 = 0;\n  uStack_14 = 0x11efd9;\n  *param_9 = 0;\n  param_9[1] = 0;\n  apiStack_60[0] = param_5;\n  cVar6 = FUN_00117e80(param_1,param_2,param_4);\n  ppiVar16 = apiStack_60 + 1;\n  ppiVar15 = apiStack_60 + 1;\n  if (cVar6 == '\0') {\n    return 0;\n  }\n  uVar9 = *(uint *)(DAT_004144e8 + 8);\n  if (uVar9 == 0) goto LAB_0011f5b8;\n  if (*(char *)(uVar9 + 0x318d) == '\0') {\nLAB_0011f049:\n    piVar13 = &DAT_004144e8;\n    if (*(char *)(uVar9 + 0x5871) != '\0') {\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }\n    ppiVar15[1] = piVar13;\n    ppiVar15[10] = ppiVar15[0x19];\n    ppiVar15[0xb] = ppiVar15[0x1a];\n    ppiVar15[-2] = (int *)local_34;\n    ppiVar15[-3] = ppiVar15[0x18] + 0x81;\n    ppiVar15[-4] = (int *)(ppiVar15 + 7);\n    ppiVar15[-5] = (int *)0x11f087;\n    FUN_001196a0();\n    piVar13 = ppiVar15[6];\n    ppiVar17 = ppiVar15 + -1;\n    uVar9 = *(uint *)(*ppiVar15[0x1b] + 8);\n    uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n    uVar4 = (uVar9 & 0xff00) << 8;\n    if (piVar13 == ppiVar15[0x17] + 0x82) {\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }\n  }\n  else {\n    uVar1 = *(uint *)(*param_5 + 8);\n    uVar4 = (uVar1 & 0xff0000) >> 8;\n    if ((uVar4 & 0x200) == 0) goto LAB_0011f049;\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);\n    ppiVar16 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }\nLAB_0011f150:\n  piVar13 = (int *)ppiVar16[0x18][1];\n  piVar14 = *(int **)(*apiStack_60[1] + 8);\n  ppiVar16[1] = piVar13;\n  bVar11 = *(byte *)(piVar13 + 0x2b);\n  uVar9 = (uint)bVar11;\n  if (bVar11 != 0) {\n    if (piVar14 == (int *)0x0) goto LAB_0011f5b8;\n    goto LAB_0011f282;\n  }\n  if (piVar14 == (int *)0x0) {\nLAB_0011f5b8:\n    ppiVar16[0xffffffff] = (int *)uVar9;\n    ppiVar16[0xfffffffe] = (int *)"options";\n    ppiVar16[0xfffffffd] = (int *)0x5c;\n    ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    \n    ppiVar16[0xfffffffb] = (int *)0x11f5ce;\n    FUN_000da200();\n  }\n  bVar22 = false;\n  bVar25 = *(char *)((int)piVar14 + 0x318d) == '\0';\n  if (!bVar25) goto LAB_0011f4a0;\n  iVar12 = 7;\n  pbVar18 = (byte *)".ctors.";\n  pbVar20 = (byte *)ppiVar16[0x1b];\n  do {\n    if (iVar12 == 0) break;\n    iVar12 = iVar12 + -1;\n    bVar22 = *pbVar18 < *pbVar20;\n    bVar25 = *pbVar18 == *pbVar20;\n    pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n  } while (bVar25);\n  bVar23 = false;\n  bVar22 = (!bVar22 && !bVar25) == bVar22;\n  if (bVar22) {\nLAB_0011f238:\n    *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n    bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n    uVar9 = (uint)bVar11;\n    if (*(char *)((int)piVar14 + 0x3ced) == '\0') {\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }\n    if (bVar11 != 0) goto LAB_0011f282;\nLAB_0011f25d:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\n    if (*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0') goto LAB_0011f4b4;\n    if (cVar6 == '\0') {\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }\n  }\n  else {\n    iVar12 = 7;\n    pbVar18 = (byte *)".dtors.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar25 = false;\n    bVar22 = (!bVar23 && !bVar22) == bVar23;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".init_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar22 = (!bVar25 && !bVar22) == bVar25;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".fini_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;\n    bVar22 = false;\n    bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';\n    if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }\nLAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;\nLAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\nLAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }\n  }\nLAB_0011f280:\n  uVar9 = 0;\nLAB_0011f282:\n  uVar1 = *(uint *)(iVar8 + 0x54);\n  *(uint *)((int)ppiVar16 + -4) = uVar9;\n  *(undefined4 *)((int)ppiVar16 + -8) = *(undefined4 *)((int)ppiVar16 + 0x78);\n  *(undefined4 *)((int)ppiVar16 + -0xc) = *(undefined4 *)((int)ppiVar16 + 0x70);\n  *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x6c);\n  *(undefined4 *)((int)ppiVar16 + -0x14) = *(undefined4 *)((int)ppiVar16 + 0x68);\n  *(undefined4 *)((int)ppiVar16 + -0x18) = *(undefined4 *)((int)ppiVar16 + 100);\n  *(undefined4 *)((int)ppiVar16 + -0x1c) = *(undefined4 *)((int)ppiVar16 + 0x60);\n  *(int *)((int)ppiVar16 + -0x20) = iVar8;\n  *(undefined4 *)((int)ppiVar16 + -0x24) = 0x11f2a4;\n  uVar28 = FUN_00191bd0();\n  **(undefined8 **)((int)ppiVar16 + 0x80) = uVar28;\n  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar16 + -8) = 0;\n    *(int *)((int)ppiVar16 + -0xc) = iVar8;\n    *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60);\n    *(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2;\n    uVar7 = FUN_00107cf0();\n    *(undefined4 *)(iVar8 + 0x5c) = uVar7;\n  }\n  *(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4) = 1;\n  return iVar8;\n}" (primitive_type "int") (function_declarator "FUN_0011efd0(int param_1,int *param_2,undefined4 param_3,int *param_4,int *param_5,\n                undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 *param_9)" (identifier "FUN_0011efd0") (parameter_list "(int param_1,int *param_2,undefined4 param_3,int *param_4,int *param_5,\n                undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 *param_9)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "int *param_4" (primitive_type "int") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "int *param_5" (primitive_type "int") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) (, ",") (parameter_declaration "undefined4 param_7" (type_identifier "undefined4") (identifier "param_7")) (, ",") (parameter_declaration "undefined4 param_8" (type_identifier "undefined4") (identifier "param_8")) (, ",") (parameter_declaration "undefined4 *param_9" (type_identifier "undefined4") (pointer_declarator "*param_9" (* "*") (identifier "param_9"))) () ")"))) (compound_statement "{\n  uint uVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  uint uVar5;\n  char cVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  size_t sVar10;\n  byte bVar11;\n  int iVar12;\n  int *piVar13;\n  int *piVar14;\n  int **ppiVar15;\n  int **ppiVar16;\n  int **ppiVar17;\n  byte *pbVar18;\n  undefined **ppuVar19;\n  byte *pbVar20;\n  char *pcVar21;\n  bool bVar22;\n  bool bVar23;\n  undefined1 uVar24;\n  bool bVar25;\n  undefined1 uVar26;\n  byte bVar27;\n  undefined8 uVar28;\n  int unaff_retaddr;\n  int *apiStackY_8c [3];\n  int *apiStack_60 [8];\n  int *local_40 [3];\n  undefined1 local_34 [4];\n  byte local_30 [28];\n  undefined4 uStack_14;\n  \n  bVar27 = 0;\n  uStack_14 = 0x11efd9;\n  *param_9 = 0;\n  param_9[1] = 0;\n  apiStack_60[0] = param_5;\n  cVar6 = FUN_00117e80(param_1,param_2,param_4);\n  ppiVar16 = apiStack_60 + 1;\n  ppiVar15 = apiStack_60 + 1;\n  if (cVar6 == '\0') {\n    return 0;\n  }\n  uVar9 = *(uint *)(DAT_004144e8 + 8);\n  if (uVar9 == 0) goto LAB_0011f5b8;\n  if (*(char *)(uVar9 + 0x318d) == '\0') {\nLAB_0011f049:\n    piVar13 = &DAT_004144e8;\n    if (*(char *)(uVar9 + 0x5871) != '\0') {\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }\n    ppiVar15[1] = piVar13;\n    ppiVar15[10] = ppiVar15[0x19];\n    ppiVar15[0xb] = ppiVar15[0x1a];\n    ppiVar15[-2] = (int *)local_34;\n    ppiVar15[-3] = ppiVar15[0x18] + 0x81;\n    ppiVar15[-4] = (int *)(ppiVar15 + 7);\n    ppiVar15[-5] = (int *)0x11f087;\n    FUN_001196a0();\n    piVar13 = ppiVar15[6];\n    ppiVar17 = ppiVar15 + -1;\n    uVar9 = *(uint *)(*ppiVar15[0x1b] + 8);\n    uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n    uVar4 = (uVar9 & 0xff00) << 8;\n    if (piVar13 == ppiVar15[0x17] + 0x82) {\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }\n  }\n  else {\n    uVar1 = *(uint *)(*param_5 + 8);\n    uVar4 = (uVar1 & 0xff0000) >> 8;\n    if ((uVar4 & 0x200) == 0) goto LAB_0011f049;\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);\n    ppiVar16 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }\nLAB_0011f150:\n  piVar13 = (int *)ppiVar16[0x18][1];\n  piVar14 = *(int **)(*apiStack_60[1] + 8);\n  ppiVar16[1] = piVar13;\n  bVar11 = *(byte *)(piVar13 + 0x2b);\n  uVar9 = (uint)bVar11;\n  if (bVar11 != 0) {\n    if (piVar14 == (int *)0x0) goto LAB_0011f5b8;\n    goto LAB_0011f282;\n  }\n  if (piVar14 == (int *)0x0) {\nLAB_0011f5b8:\n    ppiVar16[0xffffffff] = (int *)uVar9;\n    ppiVar16[0xfffffffe] = (int *)"options";\n    ppiVar16[0xfffffffd] = (int *)0x5c;\n    ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    \n    ppiVar16[0xfffffffb] = (int *)0x11f5ce;\n    FUN_000da200();\n  }\n  bVar22 = false;\n  bVar25 = *(char *)((int)piVar14 + 0x318d) == '\0';\n  if (!bVar25) goto LAB_0011f4a0;\n  iVar12 = 7;\n  pbVar18 = (byte *)".ctors.";\n  pbVar20 = (byte *)ppiVar16[0x1b];\n  do {\n    if (iVar12 == 0) break;\n    iVar12 = iVar12 + -1;\n    bVar22 = *pbVar18 < *pbVar20;\n    bVar25 = *pbVar18 == *pbVar20;\n    pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n  } while (bVar25);\n  bVar23 = false;\n  bVar22 = (!bVar22 && !bVar25) == bVar22;\n  if (bVar22) {\nLAB_0011f238:\n    *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n    bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n    uVar9 = (uint)bVar11;\n    if (*(char *)((int)piVar14 + 0x3ced) == '\0') {\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }\n    if (bVar11 != 0) goto LAB_0011f282;\nLAB_0011f25d:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\n    if (*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0') goto LAB_0011f4b4;\n    if (cVar6 == '\0') {\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }\n  }\n  else {\n    iVar12 = 7;\n    pbVar18 = (byte *)".dtors.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar25 = false;\n    bVar22 = (!bVar23 && !bVar22) == bVar23;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".init_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar22 = (!bVar25 && !bVar22) == bVar25;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".fini_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;\n    bVar22 = false;\n    bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';\n    if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }\nLAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;\nLAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\nLAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }\n  }\nLAB_0011f280:\n  uVar9 = 0;\nLAB_0011f282:\n  uVar1 = *(uint *)(iVar8 + 0x54);\n  *(uint *)((int)ppiVar16 + -4) = uVar9;\n  *(undefined4 *)((int)ppiVar16 + -8) = *(undefined4 *)((int)ppiVar16 + 0x78);\n  *(undefined4 *)((int)ppiVar16 + -0xc) = *(undefined4 *)((int)ppiVar16 + 0x70);\n  *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x6c);\n  *(undefined4 *)((int)ppiVar16 + -0x14) = *(undefined4 *)((int)ppiVar16 + 0x68);\n  *(undefined4 *)((int)ppiVar16 + -0x18) = *(undefined4 *)((int)ppiVar16 + 100);\n  *(undefined4 *)((int)ppiVar16 + -0x1c) = *(undefined4 *)((int)ppiVar16 + 0x60);\n  *(int *)((int)ppiVar16 + -0x20) = iVar8;\n  *(undefined4 *)((int)ppiVar16 + -0x24) = 0x11f2a4;\n  uVar28 = FUN_00191bd0();\n  **(undefined8 **)((int)ppiVar16 + 0x80) = uVar28;\n  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar16 + -8) = 0;\n    *(int *)((int)ppiVar16 + -0xc) = iVar8;\n    *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60);\n    *(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2;\n    uVar7 = FUN_00107cf0();\n    *(undefined4 *)(iVar8 + 0x5c) = uVar7;\n  }\n  *(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4) = 1;\n  return iVar8;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "char cVar6;" (primitive_type "char") (identifier "cVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "size_t sVar10;" (primitive_type "size_t") (identifier "sVar10") (; ";")) (declaration "byte bVar11;" (type_identifier "byte") (identifier "bVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int *piVar13;" (primitive_type "int") (pointer_declarator "*piVar13" (* "*") (identifier "piVar13")) (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "int **ppiVar15;" (primitive_type "int") (pointer_declarator "**ppiVar15" (* "*") (pointer_declarator "*ppiVar15" (* "*") (identifier "ppiVar15"))) (; ";")) (declaration "int **ppiVar16;" (primitive_type "int") (pointer_declarator "**ppiVar16" (* "*") (pointer_declarator "*ppiVar16" (* "*") (identifier "ppiVar16"))) (; ";")) (declaration "int **ppiVar17;" (primitive_type "int") (pointer_declarator "**ppiVar17" (* "*") (pointer_declarator "*ppiVar17" (* "*") (identifier "ppiVar17"))) (; ";")) (declaration "byte *pbVar18;" (type_identifier "byte") (pointer_declarator "*pbVar18" (* "*") (identifier "pbVar18")) (; ";")) (declaration "undefined **ppuVar19;" (type_identifier "undefined") (pointer_declarator "**ppuVar19" (* "*") (pointer_declarator "*ppuVar19" (* "*") (identifier "ppuVar19"))) (; ";")) (declaration "byte *pbVar20;" (type_identifier "byte") (pointer_declarator "*pbVar20" (* "*") (identifier "pbVar20")) (; ";")) (declaration "char *pcVar21;" (primitive_type "char") (pointer_declarator "*pcVar21" (* "*") (identifier "pcVar21")) (; ";")) (declaration "bool bVar22;" (primitive_type "bool") (identifier "bVar22") (; ";")) (declaration "bool bVar23;" (primitive_type "bool") (identifier "bVar23") (; ";")) (declaration "undefined1 uVar24;" (type_identifier "undefined1") (identifier "uVar24") (; ";")) (declaration "bool bVar25;" (primitive_type "bool") (identifier "bVar25") (; ";")) (declaration "undefined1 uVar26;" (type_identifier "undefined1") (identifier "uVar26") (; ";")) (declaration "byte bVar27;" (type_identifier "byte") (identifier "bVar27") (; ";")) (declaration "undefined8 uVar28;" (type_identifier "undefined8") (identifier "uVar28") (; ";")) (declaration "int unaff_retaddr;" (primitive_type "int") (identifier "unaff_retaddr") (; ";")) (declaration "int *apiStackY_8c [3];" (primitive_type "int") (pointer_declarator "*apiStackY_8c [3]" (* "*") (array_declarator "apiStackY_8c [3]" (identifier "apiStackY_8c") ([ "[") (number_literal "3") (] "]"))) (; ";")) (declaration "int *apiStack_60 [8];" (primitive_type "int") (pointer_declarator "*apiStack_60 [8]" (* "*") (array_declarator "apiStack_60 [8]" (identifier "apiStack_60") ([ "[") (number_literal "8") (] "]"))) (; ";")) (declaration "int *local_40 [3];" (primitive_type "int") (pointer_declarator "*local_40 [3]" (* "*") (array_declarator "local_40 [3]" (identifier "local_40") ([ "[") (number_literal "3") (] "]"))) (; ";")) (declaration "undefined1 local_34 [4];" (type_identifier "undefined1") (array_declarator "local_34 [4]" (identifier "local_34") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "byte local_30 [28];" (type_identifier "byte") (array_declarator "local_30 [28]" (identifier "local_30") ([ "[") (number_literal "28") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "bVar27 = 0;" (assignment_expression "bVar27 = 0" (identifier "bVar27") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x11efd9;" (assignment_expression "uStack_14 = 0x11efd9" (identifier "uStack_14") (= "=") (number_literal "0x11efd9")) (; ";")) (expression_statement "*param_9 = 0;" (assignment_expression "*param_9 = 0" (pointer_expression "*param_9" (* "*") (identifier "param_9")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_9[1] = 0;" (assignment_expression "param_9[1] = 0" (subscript_expression "param_9[1]" (identifier "param_9") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "apiStack_60[0] = param_5;" (assignment_expression "apiStack_60[0] = param_5" (subscript_expression "apiStack_60[0]" (identifier "apiStack_60") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "cVar6 = FUN_00117e80(param_1,param_2,param_4);" (assignment_expression "cVar6 = FUN_00117e80(param_1,param_2,param_4)" (identifier "cVar6") (= "=") (call_expression "FUN_00117e80(param_1,param_2,param_4)" (identifier "FUN_00117e80") (argument_list "(param_1,param_2,param_4)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_4") () ")")))) (; ";")) (expression_statement "ppiVar16 = apiStack_60 + 1;" (assignment_expression "ppiVar16 = apiStack_60 + 1" (identifier "ppiVar16") (= "=") (binary_expression "apiStack_60 + 1" (identifier "apiStack_60") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppiVar15 = apiStack_60 + 1;" (assignment_expression "ppiVar15 = apiStack_60 + 1" (identifier "ppiVar15") (= "=") (binary_expression "apiStack_60 + 1" (identifier "apiStack_60") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (cVar6 == '\0') {\n    return 0;\n  }" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "uVar9 = *(uint *)(DAT_004144e8 + 8);" (assignment_expression "uVar9 = *(uint *)(DAT_004144e8 + 8)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(DAT_004144e8 + 8)" (* "*") (cast_expression "(uint *)(DAT_004144e8 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_004144e8 + 8)" (( "(") (binary_expression "DAT_004144e8 + 8" (identifier "DAT_004144e8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (uVar9 == 0) goto LAB_0011f5b8;" (if "if") (parenthesized_expression "(uVar9 == 0)" (( "(") (binary_expression "uVar9 == 0" (identifier "uVar9") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011f5b8;" (goto "goto") (statement_identifier "LAB_0011f5b8") (; ";"))) (if_statement "if (*(char *)(uVar9 + 0x318d) == '\0') {\nLAB_0011f049:\n    piVar13 = &DAT_004144e8;\n    if (*(char *)(uVar9 + 0x5871) != '\0') {\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }\n    ppiVar15[1] = piVar13;\n    ppiVar15[10] = ppiVar15[0x19];\n    ppiVar15[0xb] = ppiVar15[0x1a];\n    ppiVar15[-2] = (int *)local_34;\n    ppiVar15[-3] = ppiVar15[0x18] + 0x81;\n    ppiVar15[-4] = (int *)(ppiVar15 + 7);\n    ppiVar15[-5] = (int *)0x11f087;\n    FUN_001196a0();\n    piVar13 = ppiVar15[6];\n    ppiVar17 = ppiVar15 + -1;\n    uVar9 = *(uint *)(*ppiVar15[0x1b] + 8);\n    uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n    uVar4 = (uVar9 & 0xff00) << 8;\n    if (piVar13 == ppiVar15[0x17] + 0x82) {\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }\n  }\n  else {\n    uVar1 = *(uint *)(*param_5 + 8);\n    uVar4 = (uVar1 & 0xff0000) >> 8;\n    if ((uVar4 & 0x200) == 0) goto LAB_0011f049;\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);\n    ppiVar16 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }" (if "if") (parenthesized_expression "(*(char *)(uVar9 + 0x318d) == '\0')" (( "(") (binary_expression "*(char *)(uVar9 + 0x318d) == '\0'" (pointer_expression "*(char *)(uVar9 + 0x318d)" (* "*") (cast_expression "(char *)(uVar9 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar9 + 0x318d)" (( "(") (binary_expression "uVar9 + 0x318d" (identifier "uVar9") (+ "+") (number_literal "0x318d")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0011f049:\n    piVar13 = &DAT_004144e8;\n    if (*(char *)(uVar9 + 0x5871) != '\0') {\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }\n    ppiVar15[1] = piVar13;\n    ppiVar15[10] = ppiVar15[0x19];\n    ppiVar15[0xb] = ppiVar15[0x1a];\n    ppiVar15[-2] = (int *)local_34;\n    ppiVar15[-3] = ppiVar15[0x18] + 0x81;\n    ppiVar15[-4] = (int *)(ppiVar15 + 7);\n    ppiVar15[-5] = (int *)0x11f087;\n    FUN_001196a0();\n    piVar13 = ppiVar15[6];\n    ppiVar17 = ppiVar15 + -1;\n    uVar9 = *(uint *)(*ppiVar15[0x1b] + 8);\n    uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n    uVar4 = (uVar9 & 0xff00) << 8;\n    if (piVar13 == ppiVar15[0x17] + 0x82) {\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }\n  }" ({ "{") (labeled_statement "LAB_0011f049:\n    piVar13 = &DAT_004144e8;" (statement_identifier "LAB_0011f049") (: ":") (expression_statement "piVar13 = &DAT_004144e8;" (assignment_expression "piVar13 = &DAT_004144e8" (identifier "piVar13") (= "=") (pointer_expression "&DAT_004144e8" (& "&") (identifier "DAT_004144e8"))) (; ";"))) (if_statement "if (*(char *)(uVar9 + 0x5871) != '\0') {\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }" (if "if") (parenthesized_expression "(*(char *)(uVar9 + 0x5871) != '\0')" (( "(") (binary_expression "*(char *)(uVar9 + 0x5871) != '\0'" (pointer_expression "*(char *)(uVar9 + 0x5871)" (* "*") (cast_expression "(char *)(uVar9 + 0x5871)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar9 + 0x5871)" (( "(") (binary_expression "uVar9 + 0x5871" (identifier "uVar9") (+ "+") (number_literal "0x5871")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      uVar24 = apiStack_60 + 1 < (int **)0x4;\n      uVar26 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar8 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar18 = (byte *)".text.unlikely";\n      pbVar20 = (byte *)local_40[2];\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);\n      ppiVar15 = apiStack_60;\n      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }\n      piVar13 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }\n    }" ({ "{") (expression_statement "uVar24 = apiStack_60 + 1 < (int **)0x4;" (assignment_expression "uVar24 = apiStack_60 + 1 < (int **)0x4" (identifier "uVar24") (= "=") (binary_expression "apiStack_60 + 1 < (int **)0x4" (binary_expression "apiStack_60 + 1" (identifier "apiStack_60") (+ "+") (number_literal "1")) (< "<") (cast_expression "(int **)0x4" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x4")))) (; ";")) (expression_statement "uVar26 = &stack0x00000000 == (undefined1 *)0x60;" (assignment_expression "uVar26 = &stack0x00000000 == (undefined1 *)0x60" (identifier "uVar26") (= "=") (binary_expression "&stack0x00000000 == (undefined1 *)0x60" (pointer_expression "&stack0x00000000" (& "&") (identifier "stack0x00000000")) (== "==") (cast_expression "(undefined1 *)0x60" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x60")))) (; ";")) (expression_statement "apiStack_60[2] = &DAT_004144e8;" (assignment_expression "apiStack_60[2] = &DAT_004144e8" (subscript_expression "apiStack_60[2]" (identifier "apiStack_60") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "&DAT_004144e8" (& "&") (identifier "DAT_004144e8"))) (; ";")) (expression_statement "(**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);" (call_expression "(**(code **)(*param_2 + 0x40))(local_34,param_2,param_3)" (parenthesized_expression "(**(code **)(*param_2 + 0x40))" (( "(") (pointer_expression "**(code **)(*param_2 + 0x40)" (* "*") (pointer_expression "*(code **)(*param_2 + 0x40)" (* "*") (cast_expression "(code **)(*param_2 + 0x40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_2 + 0x40)" (( "(") (binary_expression "*param_2 + 0x40" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "0x40")) () ")"))))) () ")")) (argument_list "(local_34,param_2,param_3)" (( "(") (identifier "local_34") (, ",") (identifier "param_2") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "iVar8 = 0xe;" (assignment_expression "iVar8 = 0xe" (identifier "iVar8") (= "=") (number_literal "0xe")) (; ";")) (expression_statement "apiStack_60[2] = (int *)0x2fd3ca;" (assignment_expression "apiStack_60[2] = (int *)0x2fd3ca" (subscript_expression "apiStack_60[2]" (identifier "apiStack_60") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(int *)0x2fd3ca" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2fd3ca"))) (; ";")) (expression_statement "pbVar18 = (byte *)".text.unlikely";" (assignment_expression "pbVar18 = (byte *)".text.unlikely"" (identifier "pbVar18") (= "=") (cast_expression "(byte *)".text.unlikely"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".text.unlikely"" (" """) (string_content ".text.unlikely") (" """)))) (; ";")) (expression_statement "pbVar20 = (byte *)local_40[2];" (assignment_expression "pbVar20 = (byte *)local_40[2]" (identifier "pbVar20") (= "=") (cast_expression "(byte *)local_40[2]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_40[2]" (identifier "local_40") ([ "[") (number_literal "2") (] "]")))) (; ";")) (do_statement "do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while ((bool)uVar26);" (do "do") (compound_statement "{\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        uVar24 = *pbVar18 < *pbVar20;\n        uVar26 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      }" ({ "{") (if_statement "if (iVar8 == 0) break;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + -1" (identifier "iVar8") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "uVar24 = *pbVar18 < *pbVar20;" (assignment_expression "uVar24 = *pbVar18 < *pbVar20" (identifier "uVar24") (= "=") (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "uVar26 = *pbVar18 == *pbVar20;" (assignment_expression "uVar26 = *pbVar18 == *pbVar20" (identifier "uVar26") (= "=") (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((bool)uVar26)" (( "(") (cast_expression "(bool)uVar26" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar26")) () ")")) (; ";")) (expression_statement "ppiVar15 = apiStack_60;" (assignment_expression "ppiVar15 = apiStack_60" (identifier "ppiVar15") (= "=") (identifier "apiStack_60")) (; ";")) (if_statement "if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }" (if "if") (parenthesized_expression "((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24)" (( "(") (binary_expression "(!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24" (parenthesized_expression "(!(bool)uVar24 && !(bool)uVar26)" (( "(") (binary_expression "!(bool)uVar24 && !(bool)uVar26" (unary_expression "!(bool)uVar24" (! "!") (cast_expression "(bool)uVar24" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar24"))) (&& "&&") (unary_expression "!(bool)uVar26" (! "!") (cast_expression "(bool)uVar26" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar26")))) () ")")) (== "==") (cast_expression "(bool)uVar24" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar24"))) () ")")) (compound_statement "{\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar17 = apiStack_60;\n        uVar9 = *(uint *)(*param_4 + 8);\n        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;\n        uVar4 = uVar1 & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }\n        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);\n        ppiVar16 = apiStack_60;\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        goto LAB_0011f150;\n      }" ({ "{") (if_statement "if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }" (if "if") (parenthesized_expression "((byte *)local_40[2] != local_30)" (( "(") (binary_expression "(byte *)local_40[2] != local_30" (cast_expression "(byte *)local_40[2]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_40[2]" (identifier "local_40") ([ "[") (number_literal "2") (] "]"))) (!= "!=") (identifier "local_30")) () ")")) (compound_statement "{\n          FUN_00248220(local_40[2]);\n        }" ({ "{") (expression_statement "FUN_00248220(local_40[2]);" (call_expression "FUN_00248220(local_40[2])" (identifier "FUN_00248220") (argument_list "(local_40[2])" (( "(") (subscript_expression "local_40[2]" (identifier "local_40") ([ "[") (number_literal "2") (] "]")) () ")"))) (; ";")) (} "}"))) (expression_statement "ppiVar17 = apiStack_60;" (assignment_expression "ppiVar17 = apiStack_60" (identifier "ppiVar17") (= "=") (identifier "apiStack_60")) (; ";")) (expression_statement "uVar9 = *(uint *)(*param_4 + 8);" (assignment_expression "uVar9 = *(uint *)(*param_4 + 8)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(*param_4 + 8)" (* "*") (cast_expression "(uint *)(*param_4 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_4 + 8)" (( "(") (binary_expression "*param_4 + 8" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;" (assignment_expression "uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (identifier "uVar1") (= "=") (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8")))) (; ";")) (if_statement "if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;" (if "if") (parenthesized_expression "(*(int *)(*apiStack_60[1] + 8) == 0)" (( "(") (binary_expression "*(int *)(*apiStack_60[1] + 8) == 0" (pointer_expression "*(int *)(*apiStack_60[1] + 8)" (* "*") (cast_expression "(int *)(*apiStack_60[1] + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*apiStack_60[1] + 8)" (( "(") (binary_expression "*apiStack_60[1] + 8" (pointer_expression "*apiStack_60[1]" (* "*") (subscript_expression "apiStack_60[1]" (identifier "apiStack_60") ([ "[") (number_literal "1") (] "]"))) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011f67b;" (goto "goto") (statement_identifier "LAB_0011f67b") (; ";"))) (expression_statement "uVar4 = uVar1 & 0xfffff50f;" (assignment_expression "uVar4 = uVar1 & 0xfffff50f" (identifier "uVar4") (= "=") (binary_expression "uVar1 & 0xfffff50f" (identifier "uVar1") (& "&") (number_literal "0xfffff50f"))) (; ";")) (if_statement "if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar4 = uVar1 & 0xfffff58f;\n        }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0'" (pointer_expression "*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d)" (* "*") (cast_expression "(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*apiStack_60[1] + 8) + 0x318d)" (( "(") (binary_expression "*(int *)(*apiStack_60[1] + 8) + 0x318d" (pointer_expression "*(int *)(*apiStack_60[1] + 8)" (* "*") (cast_expression "(int *)(*apiStack_60[1] + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*apiStack_60[1] + 8)" (( "(") (binary_expression "*apiStack_60[1] + 8" (pointer_expression "*apiStack_60[1]" (* "*") (subscript_expression "apiStack_60[1]" (identifier "apiStack_60") ([ "[") (number_literal "1") (] "]"))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x318d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          uVar4 = uVar1 & 0xfffff58f;\n        }" ({ "{") (expression_statement "uVar4 = uVar1 & 0xfffff58f;" (assignment_expression "uVar4 = uVar1 & 0xfffff58f" (identifier "uVar4") (= "=") (binary_expression "uVar1 & 0xfffff58f" (identifier "uVar1") (& "&") (number_literal "0xfffff58f"))) (; ";")) (} "}"))) (expression_statement "uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);" (assignment_expression "uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34)" (identifier "uVar7") (= "=") (call_expression "FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34)" (identifier "FUN_001e3f80") (argument_list "(unaff_retaddr + 8,apiStack_60[2],1,local_34)" (( "(") (binary_expression "unaff_retaddr + 8" (identifier "unaff_retaddr") (+ "+") (number_literal "8")) (, ",") (subscript_expression "apiStack_60[2]" (identifier "apiStack_60") ([ "[") (number_literal "2") (] "]")) (, ",") (number_literal "1") (, ",") (identifier "local_34") () ")")))) (; ";")) (expression_statement "iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);" (assignment_expression "iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0)" (identifier "iVar8") (= "=") (call_expression "FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0)" (identifier "FUN_00110850") (argument_list "(unaff_retaddr,uVar7,local_40[2],param_5,\n                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0)" (( "(") (identifier "unaff_retaddr") (, ",") (identifier "uVar7") (, ",") (subscript_expression "local_40[2]" (identifier "local_40") ([ "[") (number_literal "2") (] "]")) (, ",") (identifier "param_5") (, ",") (binary_expression "uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar4 | (uVar9 & 0xff00) << 8" (identifier "uVar4") (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18"))) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "ppiVar16 = apiStack_60;" (assignment_expression "ppiVar16 = apiStack_60" (identifier "ppiVar16") (= "=") (identifier "apiStack_60")) (; ";")) (expression_statement "*(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;" (assignment_expression "*(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar8 + 0x92)" (* "*") (cast_expression "(byte *)(iVar8 + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x92)" (( "(") (binary_expression "iVar8 + 0x92" (identifier "iVar8") (+ "+") (number_literal "0x92")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar8 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar8 + 0x92)" (* "*") (cast_expression "(byte *)(iVar8 + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x92)" (( "(") (binary_expression "iVar8 + 0x92" (identifier "iVar8") (+ "+") (number_literal "0x92")) () ")")))) (| "|") (number_literal "0x80"))) (; ";")) (goto_statement "goto LAB_0011f150;" (goto "goto") (statement_identifier "LAB_0011f150") (; ";")) (} "}"))) (expression_statement "piVar13 = apiStack_60[1];" (assignment_expression "piVar13 = apiStack_60[1]" (identifier "piVar13") (= "=") (subscript_expression "apiStack_60[1]" (identifier "apiStack_60") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }" (if "if") (parenthesized_expression "((byte *)local_40[2] != local_30)" (( "(") (binary_expression "(byte *)local_40[2] != local_30" (cast_expression "(byte *)local_40[2]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_40[2]" (identifier "local_40") ([ "[") (number_literal "2") (] "]"))) (!= "!=") (identifier "local_30")) () ")")) (compound_statement "{\n        FUN_00248220(local_40[2]);\n        ppiVar15 = apiStack_60;\n        piVar13 = apiStack_60[1];\n      }" ({ "{") (expression_statement "FUN_00248220(local_40[2]);" (call_expression "FUN_00248220(local_40[2])" (identifier "FUN_00248220") (argument_list "(local_40[2])" (( "(") (subscript_expression "local_40[2]" (identifier "local_40") ([ "[") (number_literal "2") (] "]")) () ")"))) (; ";")) (expression_statement "ppiVar15 = apiStack_60;" (assignment_expression "ppiVar15 = apiStack_60" (identifier "ppiVar15") (= "=") (identifier "apiStack_60")) (; ";")) (expression_statement "piVar13 = apiStack_60[1];" (assignment_expression "piVar13 = apiStack_60[1]" (identifier "piVar13") (= "=") (subscript_expression "apiStack_60[1]" (identifier "apiStack_60") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "ppiVar15[1] = piVar13;" (assignment_expression "ppiVar15[1] = piVar13" (subscript_expression "ppiVar15[1]" (identifier "ppiVar15") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "piVar13")) (; ";")) (expression_statement "ppiVar15[10] = ppiVar15[0x19];" (assignment_expression "ppiVar15[10] = ppiVar15[0x19]" (subscript_expression "ppiVar15[10]" (identifier "ppiVar15") ([ "[") (number_literal "10") (] "]")) (= "=") (subscript_expression "ppiVar15[0x19]" (identifier "ppiVar15") ([ "[") (number_literal "0x19") (] "]"))) (; ";")) (expression_statement "ppiVar15[0xb] = ppiVar15[0x1a];" (assignment_expression "ppiVar15[0xb] = ppiVar15[0x1a]" (subscript_expression "ppiVar15[0xb]" (identifier "ppiVar15") ([ "[") (number_literal "0xb") (] "]")) (= "=") (subscript_expression "ppiVar15[0x1a]" (identifier "ppiVar15") ([ "[") (number_literal "0x1a") (] "]"))) (; ";")) (expression_statement "ppiVar15[-2] = (int *)local_34;" (assignment_expression "ppiVar15[-2] = (int *)local_34" (subscript_expression "ppiVar15[-2]" (identifier "ppiVar15") ([ "[") (number_literal "-2") (] "]")) (= "=") (cast_expression "(int *)local_34" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_34"))) (; ";")) (expression_statement "ppiVar15[-3] = ppiVar15[0x18] + 0x81;" (assignment_expression "ppiVar15[-3] = ppiVar15[0x18] + 0x81" (subscript_expression "ppiVar15[-3]" (identifier "ppiVar15") ([ "[") (number_literal "-3") (] "]")) (= "=") (binary_expression "ppiVar15[0x18] + 0x81" (subscript_expression "ppiVar15[0x18]" (identifier "ppiVar15") ([ "[") (number_literal "0x18") (] "]")) (+ "+") (number_literal "0x81"))) (; ";")) (expression_statement "ppiVar15[-4] = (int *)(ppiVar15 + 7);" (assignment_expression "ppiVar15[-4] = (int *)(ppiVar15 + 7)" (subscript_expression "ppiVar15[-4]" (identifier "ppiVar15") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(int *)(ppiVar15 + 7)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppiVar15 + 7)" (( "(") (binary_expression "ppiVar15 + 7" (identifier "ppiVar15") (+ "+") (number_literal "7")) () ")")))) (; ";")) (expression_statement "ppiVar15[-5] = (int *)0x11f087;" (assignment_expression "ppiVar15[-5] = (int *)0x11f087" (subscript_expression "ppiVar15[-5]" (identifier "ppiVar15") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(int *)0x11f087" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x11f087"))) (; ";")) (expression_statement "FUN_001196a0();" (call_expression "FUN_001196a0()" (identifier "FUN_001196a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar13 = ppiVar15[6];" (assignment_expression "piVar13 = ppiVar15[6]" (identifier "piVar13") (= "=") (subscript_expression "ppiVar15[6]" (identifier "ppiVar15") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "ppiVar17 = ppiVar15 + -1;" (assignment_expression "ppiVar17 = ppiVar15 + -1" (identifier "ppiVar17") (= "=") (binary_expression "ppiVar15 + -1" (identifier "ppiVar15") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "uVar9 = *(uint *)(*ppiVar15[0x1b] + 8);" (assignment_expression "uVar9 = *(uint *)(*ppiVar15[0x1b] + 8)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(*ppiVar15[0x1b] + 8)" (* "*") (cast_expression "(uint *)(*ppiVar15[0x1b] + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*ppiVar15[0x1b] + 8)" (( "(") (binary_expression "*ppiVar15[0x1b] + 8" (pointer_expression "*ppiVar15[0x1b]" (* "*") (subscript_expression "ppiVar15[0x1b]" (identifier "ppiVar15") ([ "[") (number_literal "0x1b") (] "]"))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;" (assignment_expression "uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (identifier "uVar1") (= "=") (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8")))) (; ";")) (expression_statement "uVar4 = (uVar9 & 0xff00) << 8;" (assignment_expression "uVar4 = (uVar9 & 0xff00) << 8" (identifier "uVar4") (= "=") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (; ";")) (if_statement "if (piVar13 == ppiVar15[0x17] + 0x82) {\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }" (if "if") (parenthesized_expression "(piVar13 == ppiVar15[0x17] + 0x82)" (( "(") (binary_expression "piVar13 == ppiVar15[0x17] + 0x82" (identifier "piVar13") (== "==") (binary_expression "ppiVar15[0x17] + 0x82" (subscript_expression "ppiVar15[0x17]" (identifier "ppiVar15") ([ "[") (number_literal "0x17") (] "]")) (+ "+") (number_literal "0x82"))) () ")")) (compound_statement "{\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)0x0;\n      ppiVar15[-6] = (int *)0x0;\n      ppiVar15[-7] = (int *)0x1;\n      ppiVar15[-8] = (int *)0x0;\n      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-10] = ppiVar15[0x1c];\n      ppiVar15[-0xb] = ppiVar15[0x1a];\n      ppiVar15[-0xc] = ppiVar15[0x18];\n      ppiVar15[-0xd] = ppiVar15[0x17];\n      ppiVar15[-0xe] = (int *)0x11f402;\n      iVar8 = FUN_00110ae0();\n      ppiVar16 = ppiVar15 + -1;\n      apiStack_60[1] = *ppiVar15;\n      if (iVar8 == 0) {\n        return 0;\n      }\n    }" ({ "{") (expression_statement "ppiVar15[-3] = (int *)0x1;" (assignment_expression "ppiVar15[-3] = (int *)0x1" (subscript_expression "ppiVar15[-3]" (identifier "ppiVar15") ([ "[") (number_literal "-3") (] "]")) (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "ppiVar15[-4] = (int *)0x0;" (assignment_expression "ppiVar15[-4] = (int *)0x0" (subscript_expression "ppiVar15[-4]" (identifier "ppiVar15") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar15[-5] = (int *)0x0;" (assignment_expression "ppiVar15[-5] = (int *)0x0" (subscript_expression "ppiVar15[-5]" (identifier "ppiVar15") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar15[-6] = (int *)0x0;" (assignment_expression "ppiVar15[-6] = (int *)0x0" (subscript_expression "ppiVar15[-6]" (identifier "ppiVar15") ([ "[") (number_literal "-6") (] "]")) (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar15[-7] = (int *)0x1;" (assignment_expression "ppiVar15[-7] = (int *)0x1" (subscript_expression "ppiVar15[-7]" (identifier "ppiVar15") ([ "[") (number_literal "-7") (] "]")) (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "ppiVar15[-8] = (int *)0x0;" (assignment_expression "ppiVar15[-8] = (int *)0x0" (subscript_expression "ppiVar15[-8]" (identifier "ppiVar15") ([ "[") (number_literal "-8") (] "]")) (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);" (assignment_expression "ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18)" (subscript_expression "ppiVar15[-9]" (identifier "ppiVar15") ([ "[") (number_literal "-9") (] "]")) (= "=") (cast_expression "(int *)(uVar1 | uVar4 | uVar9 << 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar1 | uVar4 | uVar9 << 0x18)" (( "(") (binary_expression "uVar1 | uVar4 | uVar9 << 0x18" (binary_expression "uVar1 | uVar4" (identifier "uVar1") (| "|") (identifier "uVar4")) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "ppiVar15[-10] = ppiVar15[0x1c];" (assignment_expression "ppiVar15[-10] = ppiVar15[0x1c]" (subscript_expression "ppiVar15[-10]" (identifier "ppiVar15") ([ "[") (number_literal "-10") (] "]")) (= "=") (subscript_expression "ppiVar15[0x1c]" (identifier "ppiVar15") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (expression_statement "ppiVar15[-0xb] = ppiVar15[0x1a];" (assignment_expression "ppiVar15[-0xb] = ppiVar15[0x1a]" (subscript_expression "ppiVar15[-0xb]" (identifier "ppiVar15") ([ "[") (number_literal "-0xb") (] "]")) (= "=") (subscript_expression "ppiVar15[0x1a]" (identifier "ppiVar15") ([ "[") (number_literal "0x1a") (] "]"))) (; ";")) (expression_statement "ppiVar15[-0xc] = ppiVar15[0x18];" (assignment_expression "ppiVar15[-0xc] = ppiVar15[0x18]" (subscript_expression "ppiVar15[-0xc]" (identifier "ppiVar15") ([ "[") (number_literal "-0xc") (] "]")) (= "=") (subscript_expression "ppiVar15[0x18]" (identifier "ppiVar15") ([ "[") (number_literal "0x18") (] "]"))) (; ";")) (expression_statement "ppiVar15[-0xd] = ppiVar15[0x17];" (assignment_expression "ppiVar15[-0xd] = ppiVar15[0x17]" (subscript_expression "ppiVar15[-0xd]" (identifier "ppiVar15") ([ "[") (number_literal "-0xd") (] "]")) (= "=") (subscript_expression "ppiVar15[0x17]" (identifier "ppiVar15") ([ "[") (number_literal "0x17") (] "]"))) (; ";")) (expression_statement "ppiVar15[-0xe] = (int *)0x11f402;" (assignment_expression "ppiVar15[-0xe] = (int *)0x11f402" (subscript_expression "ppiVar15[-0xe]" (identifier "ppiVar15") ([ "[") (number_literal "-0xe") (] "]")) (= "=") (cast_expression "(int *)0x11f402" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x11f402"))) (; ";")) (expression_statement "iVar8 = FUN_00110ae0();" (assignment_expression "iVar8 = FUN_00110ae0()" (identifier "iVar8") (= "=") (call_expression "FUN_00110ae0()" (identifier "FUN_00110ae0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "ppiVar16 = ppiVar15 + -1;" (assignment_expression "ppiVar16 = ppiVar15 + -1" (identifier "ppiVar16") (= "=") (binary_expression "ppiVar15 + -1" (identifier "ppiVar15") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "apiStack_60[1] = *ppiVar15;" (assignment_expression "apiStack_60[1] = *ppiVar15" (subscript_expression "apiStack_60[1]" (identifier "apiStack_60") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*ppiVar15" (* "*") (identifier "ppiVar15"))) (; ";")) (if_statement "if (iVar8 == 0) {\n        return 0;\n      }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return 0;\n      }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }" (else "else") (compound_statement "{\n      iVar8 = *(int *)(**ppiVar15 + 8);\n      if (iVar8 == 0) {\nLAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }\n      uVar5 = uVar1 & 0xfffff50f;\n      if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar13[6];\n      *ppiVar15 = *ppiVar15;\n      ppiVar15[-2] = (int *)local_34;\n      ppiVar15[-3] = (int *)0x1;\n      ppiVar15[-4] = (int *)*puVar2;\n      ppiVar15[-5] = ppiVar15[0x17] + 2;\n      ppiVar15[-6] = (int *)0x11f0ee;\n      uVar7 = FUN_001e3f80();\n      ppiVar15[-2] = (int *)0x0;\n      ppiVar15[-3] = (int *)0x0;\n      ppiVar15[-4] = (int *)0x0;\n      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);\n      ppiVar15[-6] = ppiVar15[0x1c];\n      ppiVar15[-7] = ppiVar15[9];\n      ppiVar15[-8] = (int *)uVar7;\n      ppiVar15[-9] = ppiVar15[0x17];\n      ppiVar15[-10] = (int *)0x11f10c;\n      iVar8 = FUN_00110850();\n      apiStack_60[1] = *ppiVar15;\n      ppiVar16 = ppiVar15 + -1;\n      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }\n    }" ({ "{") (expression_statement "iVar8 = *(int *)(**ppiVar15 + 8);" (assignment_expression "iVar8 = *(int *)(**ppiVar15 + 8)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(**ppiVar15 + 8)" (* "*") (cast_expression "(int *)(**ppiVar15 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**ppiVar15 + 8)" (( "(") (binary_expression "**ppiVar15 + 8" (pointer_expression "**ppiVar15" (* "*") (pointer_expression "*ppiVar15" (* "*") (identifier "ppiVar15"))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar8 == 0) {\nLAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;\n        FUN_00106b00();\n      }" ({ "{") (labeled_statement "LAB_0011f67b:\n                    \n        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;" (statement_identifier "LAB_0011f67b") (: ":") (expression_statement "*(code **)((int)ppiVar17 + -4) = FUN_0011f680;" (assignment_expression "*(code **)((int)ppiVar17 + -4) = FUN_0011f680" (pointer_expression "*(code **)((int)ppiVar17 + -4)" (* "*") (cast_expression "(code **)((int)ppiVar17 + -4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar17 + -4)" (( "(") (binary_expression "(int)ppiVar17 + -4" (cast_expression "(int)ppiVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar17")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "FUN_0011f680")) (; ";"))) (expression_statement "FUN_00106b00();" (call_expression "FUN_00106b00()" (identifier "FUN_00106b00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar5 = uVar1 & 0xfffff50f;" (assignment_expression "uVar5 = uVar1 & 0xfffff50f" (identifier "uVar5") (= "=") (binary_expression "uVar1 & 0xfffff50f" (identifier "uVar1") (& "&") (number_literal "0xfffff50f"))) (; ";")) (if_statement "if (*(char *)(iVar8 + 0x318d) != '\0') {\n        uVar5 = uVar1 & 0xfffff58f;\n      }" (if "if") (parenthesized_expression "(*(char *)(iVar8 + 0x318d) != '\0')" (( "(") (binary_expression "*(char *)(iVar8 + 0x318d) != '\0'" (pointer_expression "*(char *)(iVar8 + 0x318d)" (* "*") (cast_expression "(char *)(iVar8 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x318d)" (( "(") (binary_expression "iVar8 + 0x318d" (identifier "iVar8") (+ "+") (number_literal "0x318d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar5 = uVar1 & 0xfffff58f;\n      }" ({ "{") (expression_statement "uVar5 = uVar1 & 0xfffff58f;" (assignment_expression "uVar5 = uVar1 & 0xfffff58f" (identifier "uVar5") (= "=") (binary_expression "uVar1 & 0xfffff58f" (identifier "uVar1") (& "&") (number_literal "0xfffff58f"))) (; ";")) (} "}"))) (expression_statement "puVar2 = (undefined4 *)piVar13[6];" (assignment_expression "puVar2 = (undefined4 *)piVar13[6]" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)piVar13[6]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar13[6]" (identifier "piVar13") ([ "[") (number_literal "6") (] "]")))) (; ";")) (expression_statement "*ppiVar15 = *ppiVar15;" (assignment_expression "*ppiVar15 = *ppiVar15" (pointer_expression "*ppiVar15" (* "*") (identifier "ppiVar15")) (= "=") (pointer_expression "*ppiVar15" (* "*") (identifier "ppiVar15"))) (; ";")) (expression_statement "ppiVar15[-2] = (int *)local_34;" (assignment_expression "ppiVar15[-2] = (int *)local_34" (subscript_expression "ppiVar15[-2]" (identifier "ppiVar15") ([ "[") (number_literal "-2") (] "]")) (= "=") (cast_expression "(int *)local_34" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_34"))) (; ";")) (expression_statement "ppiVar15[-3] = (int *)0x1;" (assignment_expression "ppiVar15[-3] = (int *)0x1" (subscript_expression "ppiVar15[-3]" (identifier "ppiVar15") ([ "[") (number_literal "-3") (] "]")) (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "ppiVar15[-4] = (int *)*puVar2;" (assignment_expression "ppiVar15[-4] = (int *)*puVar2" (subscript_expression "ppiVar15[-4]" (identifier "ppiVar15") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(int *)*puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")))) (; ";")) (expression_statement "ppiVar15[-5] = ppiVar15[0x17] + 2;" (assignment_expression "ppiVar15[-5] = ppiVar15[0x17] + 2" (subscript_expression "ppiVar15[-5]" (identifier "ppiVar15") ([ "[") (number_literal "-5") (] "]")) (= "=") (binary_expression "ppiVar15[0x17] + 2" (subscript_expression "ppiVar15[0x17]" (identifier "ppiVar15") ([ "[") (number_literal "0x17") (] "]")) (+ "+") (number_literal "2"))) (; ";")) (expression_statement "ppiVar15[-6] = (int *)0x11f0ee;" (assignment_expression "ppiVar15[-6] = (int *)0x11f0ee" (subscript_expression "ppiVar15[-6]" (identifier "ppiVar15") ([ "[") (number_literal "-6") (] "]")) (= "=") (cast_expression "(int *)0x11f0ee" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x11f0ee"))) (; ";")) (expression_statement "uVar7 = FUN_001e3f80();" (assignment_expression "uVar7 = FUN_001e3f80()" (identifier "uVar7") (= "=") (call_expression "FUN_001e3f80()" (identifier "FUN_001e3f80") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "ppiVar15[-2] = (int *)0x0;" (assignment_expression "ppiVar15[-2] = (int *)0x0" (subscript_expression "ppiVar15[-2]" (identifier "ppiVar15") ([ "[") (number_literal "-2") (] "]")) (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar15[-3] = (int *)0x0;" (assignment_expression "ppiVar15[-3] = (int *)0x0" (subscript_expression "ppiVar15[-3]" (identifier "ppiVar15") ([ "[") (number_literal "-3") (] "]")) (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar15[-4] = (int *)0x0;" (assignment_expression "ppiVar15[-4] = (int *)0x0" (subscript_expression "ppiVar15[-4]" (identifier "ppiVar15") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);" (assignment_expression "ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18)" (subscript_expression "ppiVar15[-5]" (identifier "ppiVar15") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(int *)(uVar5 | uVar4 | uVar9 << 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar5 | uVar4 | uVar9 << 0x18)" (( "(") (binary_expression "uVar5 | uVar4 | uVar9 << 0x18" (binary_expression "uVar5 | uVar4" (identifier "uVar5") (| "|") (identifier "uVar4")) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "ppiVar15[-6] = ppiVar15[0x1c];" (assignment_expression "ppiVar15[-6] = ppiVar15[0x1c]" (subscript_expression "ppiVar15[-6]" (identifier "ppiVar15") ([ "[") (number_literal "-6") (] "]")) (= "=") (subscript_expression "ppiVar15[0x1c]" (identifier "ppiVar15") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (expression_statement "ppiVar15[-7] = ppiVar15[9];" (assignment_expression "ppiVar15[-7] = ppiVar15[9]" (subscript_expression "ppiVar15[-7]" (identifier "ppiVar15") ([ "[") (number_literal "-7") (] "]")) (= "=") (subscript_expression "ppiVar15[9]" (identifier "ppiVar15") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "ppiVar15[-8] = (int *)uVar7;" (assignment_expression "ppiVar15[-8] = (int *)uVar7" (subscript_expression "ppiVar15[-8]" (identifier "ppiVar15") ([ "[") (number_literal "-8") (] "]")) (= "=") (cast_expression "(int *)uVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar7"))) (; ";")) (expression_statement "ppiVar15[-9] = ppiVar15[0x17];" (assignment_expression "ppiVar15[-9] = ppiVar15[0x17]" (subscript_expression "ppiVar15[-9]" (identifier "ppiVar15") ([ "[") (number_literal "-9") (] "]")) (= "=") (subscript_expression "ppiVar15[0x17]" (identifier "ppiVar15") ([ "[") (number_literal "0x17") (] "]"))) (; ";")) (expression_statement "ppiVar15[-10] = (int *)0x11f10c;" (assignment_expression "ppiVar15[-10] = (int *)0x11f10c" (subscript_expression "ppiVar15[-10]" (identifier "ppiVar15") ([ "[") (number_literal "-10") (] "]")) (= "=") (cast_expression "(int *)0x11f10c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x11f10c"))) (; ";")) (expression_statement "iVar8 = FUN_00110850();" (assignment_expression "iVar8 = FUN_00110850()" (identifier "iVar8") (= "=") (call_expression "FUN_00110850()" (identifier "FUN_00110850") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "apiStack_60[1] = *ppiVar15;" (assignment_expression "apiStack_60[1] = *ppiVar15" (subscript_expression "apiStack_60[1]" (identifier "apiStack_60") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*ppiVar15" (* "*") (identifier "ppiVar15"))) (; ";")) (expression_statement "ppiVar16 = ppiVar15 + -1;" (assignment_expression "ppiVar16 = ppiVar15 + -1" (identifier "ppiVar16") (= "=") (binary_expression "ppiVar15 + -1" (identifier "ppiVar15") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (-1 < (char)*(byte *)(iVar8 + 0x92)) {\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }" (if "if") (parenthesized_expression "(-1 < (char)*(byte *)(iVar8 + 0x92))" (( "(") (binary_expression "-1 < (char)*(byte *)(iVar8 + 0x92)" (number_literal "-1") (< "<") (cast_expression "(char)*(byte *)(iVar8 + 0x92)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)(iVar8 + 0x92)" (* "*") (cast_expression "(byte *)(iVar8 + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x92)" (( "(") (binary_expression "iVar8 + 0x92" (identifier "iVar8") (+ "+") (number_literal "0x92")) () ")")))))) () ")")) (compound_statement "{\n        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;\n        iVar12 = piVar13[6];\n        uVar7 = *(undefined4 *)(iVar12 + 8);\n        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);\n        uVar3 = *(undefined4 *)(iVar12 + 0xc);\n        *(undefined4 *)(iVar8 + 0xa0) = uVar7;\n        uVar7 = *(undefined4 *)(iVar12 + 0x10);\n        *(undefined4 *)(iVar8 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar8 + 0xa8) = uVar7;\n        ppiVar16 = ppiVar15 + -1;\n      }" ({ "{") (expression_statement "*(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;" (assignment_expression "*(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar8 + 0x92)" (* "*") (cast_expression "(byte *)(iVar8 + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x92)" (( "(") (binary_expression "iVar8 + 0x92" (identifier "iVar8") (+ "+") (number_literal "0x92")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar8 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar8 + 0x92)" (* "*") (cast_expression "(byte *)(iVar8 + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x92)" (( "(") (binary_expression "iVar8 + 0x92" (identifier "iVar8") (+ "+") (number_literal "0x92")) () ")")))) (| "|") (number_literal "0x80"))) (; ";")) (expression_statement "iVar12 = piVar13[6];" (assignment_expression "iVar12 = piVar13[6]" (identifier "iVar12") (= "=") (subscript_expression "piVar13[6]" (identifier "piVar13") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "uVar7 = *(undefined4 *)(iVar12 + 8);" (assignment_expression "uVar7 = *(undefined4 *)(iVar12 + 8)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(iVar12 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar12 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 8)" (( "(") (binary_expression "iVar12 + 8" (identifier "iVar12") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);" (assignment_expression "*(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4)" (pointer_expression "*(undefined4 *)(iVar8 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(iVar8 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x9c)" (( "(") (binary_expression "iVar8 + 0x9c" (identifier "iVar8") (+ "+") (number_literal "0x9c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar12 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar12 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 4)" (( "(") (binary_expression "iVar12 + 4" (identifier "iVar12") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(iVar12 + 0xc);" (assignment_expression "uVar3 = *(undefined4 *)(iVar12 + 0xc)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(iVar12 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar12 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0xc)" (( "(") (binary_expression "iVar12 + 0xc" (identifier "iVar12") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar8 + 0xa0) = uVar7;" (assignment_expression "*(undefined4 *)(iVar8 + 0xa0) = uVar7" (pointer_expression "*(undefined4 *)(iVar8 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(iVar8 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0xa0)" (( "(") (binary_expression "iVar8 + 0xa0" (identifier "iVar8") (+ "+") (number_literal "0xa0")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uVar7 = *(undefined4 *)(iVar12 + 0x10);" (assignment_expression "uVar7 = *(undefined4 *)(iVar12 + 0x10)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(iVar12 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar12 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x10)" (( "(") (binary_expression "iVar12 + 0x10" (identifier "iVar12") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar8 + 0xa4) = uVar3;" (assignment_expression "*(undefined4 *)(iVar8 + 0xa4) = uVar3" (pointer_expression "*(undefined4 *)(iVar8 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(iVar8 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0xa4)" (( "(") (binary_expression "iVar8 + 0xa4" (identifier "iVar8") (+ "+") (number_literal "0xa4")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "*(undefined4 *)(iVar8 + 0xa8) = uVar7;" (assignment_expression "*(undefined4 *)(iVar8 + 0xa8) = uVar7" (pointer_expression "*(undefined4 *)(iVar8 + 0xa8)" (* "*") (cast_expression "(undefined4 *)(iVar8 + 0xa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0xa8)" (( "(") (binary_expression "iVar8 + 0xa8" (identifier "iVar8") (+ "+") (number_literal "0xa8")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "ppiVar16 = ppiVar15 + -1;" (assignment_expression "ppiVar16 = ppiVar15 + -1" (identifier "ppiVar16") (= "=") (binary_expression "ppiVar15 + -1" (identifier "ppiVar15") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else {\n    uVar1 = *(uint *)(*param_5 + 8);\n    uVar4 = (uVar1 & 0xff0000) >> 8;\n    if ((uVar4 & 0x200) == 0) goto LAB_0011f049;\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);\n    ppiVar16 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }" (else "else") (compound_statement "{\n    uVar1 = *(uint *)(*param_5 + 8);\n    uVar4 = (uVar1 & 0xff0000) >> 8;\n    if ((uVar4 & 0x200) == 0) goto LAB_0011f049;\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);\n    ppiVar16 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }" ({ "{") (expression_statement "uVar1 = *(uint *)(*param_5 + 8);" (assignment_expression "uVar1 = *(uint *)(*param_5 + 8)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(*param_5 + 8)" (* "*") (cast_expression "(uint *)(*param_5 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_5 + 8)" (( "(") (binary_expression "*param_5 + 8" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar4 = (uVar1 & 0xff0000) >> 8;" (assignment_expression "uVar4 = (uVar1 & 0xff0000) >> 8" (identifier "uVar4") (= "=") (binary_expression "(uVar1 & 0xff0000) >> 8" (parenthesized_expression "(uVar1 & 0xff0000)" (( "(") (binary_expression "uVar1 & 0xff0000" (identifier "uVar1") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (; ";")) (if_statement "if ((uVar4 & 0x200) == 0) goto LAB_0011f049;" (if "if") (parenthesized_expression "((uVar4 & 0x200) == 0)" (( "(") (binary_expression "(uVar4 & 0x200) == 0" (parenthesized_expression "(uVar4 & 0x200)" (( "(") (binary_expression "uVar4 & 0x200" (identifier "uVar4") (& "&") (number_literal "0x200")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011f049;" (goto "goto") (statement_identifier "LAB_0011f049") (; ";"))) (expression_statement "apiStack_60[0] = (int *)0x0;" (assignment_expression "apiStack_60[0] = (int *)0x0" (subscript_expression "apiStack_60[0]" (identifier "apiStack_60") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "apiStack_60[2] = &DAT_004144e8;" (assignment_expression "apiStack_60[2] = &DAT_004144e8" (subscript_expression "apiStack_60[2]" (identifier "apiStack_60") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "&DAT_004144e8" (& "&") (identifier "DAT_004144e8"))) (; ";")) (expression_statement "uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);" (assignment_expression "uVar7 = FUN_001e3f80(param_1 + 8,param_4,1)" (identifier "uVar7") (= "=") (call_expression "FUN_001e3f80(param_1 + 8,param_4,1)" (identifier "FUN_001e3f80") (argument_list "(param_1 + 8,param_4,1)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) (, ",") (identifier "param_4") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0);" (assignment_expression "iVar8 = FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0)" (identifier "iVar8") (= "=") (call_expression "FUN_0010c350(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0)" (identifier "FUN_0010c350") (argument_list "(param_1,uVar7,param_6,\n                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                         0,0,0)" (( "(") (identifier "param_1") (, ",") (identifier "uVar7") (, ",") (identifier "param_6") (, ",") (binary_expression "uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18" (binary_expression "uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8" (binary_expression "uVar1 >> 0x18 | uVar4 & 0xfffff7ff" (binary_expression "uVar1 >> 0x18" (identifier "uVar1") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "uVar4 & 0xfffff7ff" (identifier "uVar4") (& "&") (number_literal "0xfffff7ff"))) (| "|") (binary_expression "(uVar1 & 0xff00) << 8" (parenthesized_expression "(uVar1 & 0xff00)" (( "(") (binary_expression "uVar1 & 0xff00" (identifier "uVar1") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar1 << 0x18" (identifier "uVar1") (<< "<<") (number_literal "0x18"))) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "ppiVar16 = apiStack_60 + 1;" (assignment_expression "ppiVar16 = apiStack_60 + 1" (identifier "ppiVar16") (= "=") (binary_expression "apiStack_60 + 1" (identifier "apiStack_60") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "apiStack_60[1] = apiStack_60[2];" (assignment_expression "apiStack_60[1] = apiStack_60[2]" (subscript_expression "apiStack_60[1]" (identifier "apiStack_60") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "apiStack_60[2]" (identifier "apiStack_60") ([ "[") (number_literal "2") (] "]"))) (; ";")) (} "}")))) (labeled_statement "LAB_0011f150:\n  piVar13 = (int *)ppiVar16[0x18][1];" (statement_identifier "LAB_0011f150") (: ":") (expression_statement "piVar13 = (int *)ppiVar16[0x18][1];" (assignment_expression "piVar13 = (int *)ppiVar16[0x18][1]" (identifier "piVar13") (= "=") (cast_expression "(int *)ppiVar16[0x18][1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar16[0x18][1]" (subscript_expression "ppiVar16[0x18]" (identifier "ppiVar16") ([ "[") (number_literal "0x18") (] "]")) ([ "[") (number_literal "1") (] "]")))) (; ";"))) (expression_statement "piVar14 = *(int **)(*apiStack_60[1] + 8);" (assignment_expression "piVar14 = *(int **)(*apiStack_60[1] + 8)" (identifier "piVar14") (= "=") (pointer_expression "*(int **)(*apiStack_60[1] + 8)" (* "*") (cast_expression "(int **)(*apiStack_60[1] + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*apiStack_60[1] + 8)" (( "(") (binary_expression "*apiStack_60[1] + 8" (pointer_expression "*apiStack_60[1]" (* "*") (subscript_expression "apiStack_60[1]" (identifier "apiStack_60") ([ "[") (number_literal "1") (] "]"))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "ppiVar16[1] = piVar13;" (assignment_expression "ppiVar16[1] = piVar13" (subscript_expression "ppiVar16[1]" (identifier "ppiVar16") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "piVar13")) (; ";")) (expression_statement "bVar11 = *(byte *)(piVar13 + 0x2b);" (assignment_expression "bVar11 = *(byte *)(piVar13 + 0x2b)" (identifier "bVar11") (= "=") (pointer_expression "*(byte *)(piVar13 + 0x2b)" (* "*") (cast_expression "(byte *)(piVar13 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar13 + 0x2b)" (( "(") (binary_expression "piVar13 + 0x2b" (identifier "piVar13") (+ "+") (number_literal "0x2b")) () ")"))))) (; ";")) (expression_statement "uVar9 = (uint)bVar11;" (assignment_expression "uVar9 = (uint)bVar11" (identifier "uVar9") (= "=") (cast_expression "(uint)bVar11" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar11"))) (; ";")) (if_statement "if (bVar11 != 0) {\n    if (piVar14 == (int *)0x0) goto LAB_0011f5b8;\n    goto LAB_0011f282;\n  }" (if "if") (parenthesized_expression "(bVar11 != 0)" (( "(") (binary_expression "bVar11 != 0" (identifier "bVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (piVar14 == (int *)0x0) goto LAB_0011f5b8;\n    goto LAB_0011f282;\n  }" ({ "{") (if_statement "if (piVar14 == (int *)0x0) goto LAB_0011f5b8;" (if "if") (parenthesized_expression "(piVar14 == (int *)0x0)" (( "(") (binary_expression "piVar14 == (int *)0x0" (identifier "piVar14") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0011f5b8;" (goto "goto") (statement_identifier "LAB_0011f5b8") (; ";"))) (goto_statement "goto LAB_0011f282;" (goto "goto") (statement_identifier "LAB_0011f282") (; ";")) (} "}"))) (if_statement "if (piVar14 == (int *)0x0) {\nLAB_0011f5b8:\n    ppiVar16[0xffffffff] = (int *)uVar9;\n    ppiVar16[0xfffffffe] = (int *)"options";\n    ppiVar16[0xfffffffd] = (int *)0x5c;\n    ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    \n    ppiVar16[0xfffffffb] = (int *)0x11f5ce;\n    FUN_000da200();\n  }" (if "if") (parenthesized_expression "(piVar14 == (int *)0x0)" (( "(") (binary_expression "piVar14 == (int *)0x0" (identifier "piVar14") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0011f5b8:\n    ppiVar16[0xffffffff] = (int *)uVar9;\n    ppiVar16[0xfffffffe] = (int *)"options";\n    ppiVar16[0xfffffffd] = (int *)0x5c;\n    ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    \n    ppiVar16[0xfffffffb] = (int *)0x11f5ce;\n    FUN_000da200();\n  }" ({ "{") (labeled_statement "LAB_0011f5b8:\n    ppiVar16[0xffffffff] = (int *)uVar9;" (statement_identifier "LAB_0011f5b8") (: ":") (expression_statement "ppiVar16[0xffffffff] = (int *)uVar9;" (assignment_expression "ppiVar16[0xffffffff] = (int *)uVar9" (subscript_expression "ppiVar16[0xffffffff]" (identifier "ppiVar16") ([ "[") (number_literal "0xffffffff") (] "]")) (= "=") (cast_expression "(int *)uVar9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar9"))) (; ";"))) (expression_statement "ppiVar16[0xfffffffe] = (int *)"options";" (assignment_expression "ppiVar16[0xfffffffe] = (int *)"options"" (subscript_expression "ppiVar16[0xfffffffe]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffffe") (] "]")) (= "=") (cast_expression "(int *)"options"" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""options"" (" """) (string_content "options") (" """)))) (; ";")) (expression_statement "ppiVar16[0xfffffffd] = (int *)0x5c;" (assignment_expression "ppiVar16[0xfffffffd] = (int *)0x5c" (subscript_expression "ppiVar16[0xfffffffd]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffffd") (] "]")) (= "=") (cast_expression "(int *)0x5c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x5c"))) (; ";")) (expression_statement "ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h";" (assignment_expression "ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h"" (subscript_expression "ppiVar16[0xfffffffc]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffffc") (] "]")) (= "=") (cast_expression "(int *)"../../gold/parameters.h"" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)))) (; ";")) (expression_statement "ppiVar16[0xfffffffb] = (int *)0x11f5ce;" (assignment_expression "ppiVar16[0xfffffffb] = (int *)0x11f5ce" (subscript_expression "ppiVar16[0xfffffffb]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffffb") (] "]")) (= "=") (cast_expression "(int *)0x11f5ce" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x11f5ce"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" (identifier "bVar22") (= "=") (false "false")) (; ";")) (expression_statement "bVar25 = *(char *)((int)piVar14 + 0x318d) == '\0';" (assignment_expression "bVar25 = *(char *)((int)piVar14 + 0x318d) == '\0'" (identifier "bVar25") (= "=") (binary_expression "*(char *)((int)piVar14 + 0x318d) == '\0'" (pointer_expression "*(char *)((int)piVar14 + 0x318d)" (* "*") (cast_expression "(char *)((int)piVar14 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 0x318d)" (( "(") (binary_expression "(int)piVar14 + 0x318d" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "0x318d")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (if_statement "if (!bVar25) goto LAB_0011f4a0;" (if "if") (parenthesized_expression "(!bVar25)" (( "(") (unary_expression "!bVar25" (! "!") (identifier "bVar25")) () ")")) (goto_statement "goto LAB_0011f4a0;" (goto "goto") (statement_identifier "LAB_0011f4a0") (; ";"))) (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" (identifier "iVar12") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar18 = (byte *)".ctors.";" (assignment_expression "pbVar18 = (byte *)".ctors."" (identifier "pbVar18") (= "=") (cast_expression "(byte *)".ctors."" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".ctors."" (" """) (string_content ".ctors.") (" """)))) (; ";")) (expression_statement "pbVar20 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar20 = (byte *)ppiVar16[0x1b]" (identifier "pbVar20") (= "=") (cast_expression "(byte *)ppiVar16[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar16[0x1b]" (identifier "ppiVar16") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (do_statement "do {\n    if (iVar12 == 0) break;\n    iVar12 = iVar12 + -1;\n    bVar22 = *pbVar18 < *pbVar20;\n    bVar25 = *pbVar18 == *pbVar20;\n    pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n  } while (bVar25);" (do "do") (compound_statement "{\n    if (iVar12 == 0) break;\n    iVar12 = iVar12 + -1;\n    bVar22 = *pbVar18 < *pbVar20;\n    bVar25 = *pbVar18 == *pbVar20;\n    pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n  }" ({ "{") (if_statement "if (iVar12 == 0) break;" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + -1" (identifier "iVar12") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar22 = *pbVar18 < *pbVar20;" (assignment_expression "bVar22 = *pbVar18 < *pbVar20" (identifier "bVar22") (= "=") (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar25 = *pbVar18 == *pbVar20;" (assignment_expression "bVar25 = *pbVar18 == *pbVar20" (identifier "bVar25") (= "=") (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar25)" (( "(") (identifier "bVar25") () ")")) (; ";")) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" (identifier "bVar23") (= "=") (false "false")) (; ";")) (expression_statement "bVar22 = (!bVar22 && !bVar25) == bVar22;" (assignment_expression "bVar22 = (!bVar22 && !bVar25) == bVar22" (identifier "bVar22") (= "=") (binary_expression "(!bVar22 && !bVar25) == bVar22" (parenthesized_expression "(!bVar22 && !bVar25)" (( "(") (binary_expression "!bVar22 && !bVar25" (unary_expression "!bVar22" (! "!") (identifier "bVar22")) (&& "&&") (unary_expression "!bVar25" (! "!") (identifier "bVar25"))) () ")")) (== "==") (identifier "bVar22"))) (; ";")) (if_statement "if (bVar22) {\nLAB_0011f238:\n    *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n    bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n    uVar9 = (uint)bVar11;\n    if (*(char *)((int)piVar14 + 0x3ced) == '\0') {\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }\n    if (bVar11 != 0) goto LAB_0011f282;\nLAB_0011f25d:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\n    if (*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0') goto LAB_0011f4b4;\n    if (cVar6 == '\0') {\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }\n  }\n  else {\n    iVar12 = 7;\n    pbVar18 = (byte *)".dtors.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar25 = false;\n    bVar22 = (!bVar23 && !bVar22) == bVar23;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".init_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar22 = (!bVar25 && !bVar22) == bVar25;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".fini_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;\n    bVar22 = false;\n    bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';\n    if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }\nLAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;\nLAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\nLAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (compound_statement "{\nLAB_0011f238:\n    *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n    bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n    uVar9 = (uint)bVar11;\n    if (*(char *)((int)piVar14 + 0x3ced) == '\0') {\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }\n    if (bVar11 != 0) goto LAB_0011f282;\nLAB_0011f25d:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\n    if (*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0') goto LAB_0011f4b4;\n    if (cVar6 == '\0') {\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }\n  }" ({ "{") (labeled_statement "LAB_0011f238:\n    *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;" (statement_identifier "LAB_0011f238") (: ":") (expression_statement "*(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;" (assignment_expression "*(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8" (pointer_expression "*(byte *)(iVar8 + 0x91)" (* "*") (cast_expression "(byte *)(iVar8 + 0x91)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x91)" (( "(") (binary_expression "iVar8 + 0x91" (identifier "iVar8") (+ "+") (number_literal "0x91")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar8 + 0x91) | 8" (pointer_expression "*(byte *)(iVar8 + 0x91)" (* "*") (cast_expression "(byte *)(iVar8 + 0x91)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x91)" (( "(") (binary_expression "iVar8 + 0x91" (identifier "iVar8") (+ "+") (number_literal "0x91")) () ")")))) (| "|") (number_literal "8"))) (; ";"))) (expression_statement "bVar11 = *(byte *)(ppiVar16[1] + 0x2b);" (assignment_expression "bVar11 = *(byte *)(ppiVar16[1] + 0x2b)" (identifier "bVar11") (= "=") (pointer_expression "*(byte *)(ppiVar16[1] + 0x2b)" (* "*") (cast_expression "(byte *)(ppiVar16[1] + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppiVar16[1] + 0x2b)" (( "(") (binary_expression "ppiVar16[1] + 0x2b" (subscript_expression "ppiVar16[1]" (identifier "ppiVar16") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x2b")) () ")"))))) (; ";")) (expression_statement "uVar9 = (uint)bVar11;" (assignment_expression "uVar9 = (uint)bVar11" (identifier "uVar9") (= "=") (cast_expression "(uint)bVar11" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar11"))) (; ";")) (if_statement "if (*(char *)((int)piVar14 + 0x3ced) == '\0') {\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }" (if "if") (parenthesized_expression "(*(char *)((int)piVar14 + 0x3ced) == '\0')" (( "(") (binary_expression "*(char *)((int)piVar14 + 0x3ced) == '\0'" (pointer_expression "*(char *)((int)piVar14 + 0x3ced)" (* "*") (cast_expression "(char *)((int)piVar14 + 0x3ced)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 0x3ced)" (( "(") (binary_expression "(int)piVar14 + 0x3ced" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "0x3ced")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;\n      goto LAB_0011f4ad;\n    }" ({ "{") (labeled_statement "LAB_0011f5e9:\n      if (bVar11 != 0) goto LAB_0011f282;" (statement_identifier "LAB_0011f5e9") (: ":") (if_statement "if (bVar11 != 0) goto LAB_0011f282;" (if "if") (parenthesized_expression "(bVar11 != 0)" (( "(") (binary_expression "bVar11 != 0" (identifier "bVar11") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011f282;" (goto "goto") (statement_identifier "LAB_0011f282") (; ";")))) (goto_statement "goto LAB_0011f4ad;" (goto "goto") (statement_identifier "LAB_0011f4ad") (; ";")) (} "}"))) (if_statement "if (bVar11 != 0) goto LAB_0011f282;" (if "if") (parenthesized_expression "(bVar11 != 0)" (( "(") (binary_expression "bVar11 != 0" (identifier "bVar11") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011f282;" (goto "goto") (statement_identifier "LAB_0011f282") (; ";"))) (labeled_statement "LAB_0011f25d:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);" (statement_identifier "LAB_0011f25d") (: ":") (expression_statement "cVar6 = *(char *)((int)piVar14 + 0x318d);" (assignment_expression "cVar6 = *(char *)((int)piVar14 + 0x318d)" (identifier "cVar6") (= "=") (pointer_expression "*(char *)((int)piVar14 + 0x318d)" (* "*") (cast_expression "(char *)((int)piVar14 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 0x318d)" (( "(") (binary_expression "(int)piVar14 + 0x318d" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "0x318d")) () ")"))))) (; ";"))) (if_statement "if (*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0') goto LAB_0011f4b4;" (if "if") (parenthesized_expression "(*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0')" (( "(") (binary_expression "*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0'" (pointer_expression "*(char *)((int)ppiVar16[0x18] + 0x1cd)" (* "*") (cast_expression "(char *)((int)ppiVar16[0x18] + 0x1cd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16[0x18] + 0x1cd)" (( "(") (binary_expression "(int)ppiVar16[0x18] + 0x1cd" (cast_expression "(int)ppiVar16[0x18]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppiVar16[0x18]" (identifier "ppiVar16") ([ "[") (number_literal "0x18") (] "]"))) (+ "+") (number_literal "0x1cd")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0011f4b4;" (goto "goto") (statement_identifier "LAB_0011f4b4") (; ";"))) (if_statement "if (cVar6 == '\0') {\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      ppiVar16[3] = piVar14;\n      ppuVar19 = &PTR_s__text_unlikely_00407080;\n      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar21 = ".text.unlikely";\n      sVar10 = 0xe;\n      while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }\n      piVar14 = ppiVar16[3];\n      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;\n      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);\n      uVar9 = (uint)bVar11;\n      goto LAB_0011f5e9;\n    }" ({ "{") (expression_statement "ppiVar16[3] = piVar14;" (assignment_expression "ppiVar16[3] = piVar14" (subscript_expression "ppiVar16[3]" (identifier "ppiVar16") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "piVar14")) (; ";")) (expression_statement "ppuVar19 = &PTR_s__text_unlikely_00407080;" (assignment_expression "ppuVar19 = &PTR_s__text_unlikely_00407080" (identifier "ppuVar19") (= "=") (pointer_expression "&PTR_s__text_unlikely_00407080" (& "&") (identifier "PTR_s__text_unlikely_00407080"))) (; ";")) (expression_statement "ppiVar16[2] = (int *)&PTR_s_aranges_00407090;" (assignment_expression "ppiVar16[2] = (int *)&PTR_s_aranges_00407090" (subscript_expression "ppiVar16[2]" (identifier "ppiVar16") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(int *)&PTR_s_aranges_00407090" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&PTR_s_aranges_00407090" (& "&") (identifier "PTR_s_aranges_00407090")))) (; ";")) (expression_statement "pcVar21 = ".text.unlikely";" (assignment_expression "pcVar21 = ".text.unlikely"" (identifier "pcVar21") (= "=") (string_literal "".text.unlikely"" (" """) (string_content ".text.unlikely") (" """))) (; ";")) (expression_statement "sVar10 = 0xe;" (assignment_expression "sVar10 = 0xe" (identifier "sVar10") (= "=") (number_literal "0xe")) (; ";")) (while_statement "while( true ) {\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        ppiVar16[0xfffffffe] = (int *)sVar10;\n        ppiVar16[0xfffffffd] = ppiVar16[0x1b];\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f62d;\n        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);\n        if (iVar12 == 0) break;\n        ppuVar19 = ppuVar19 + 1;\n        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;\n        pcVar21 = *ppuVar19;\n        ppiVar16[0xfffffffc] = (int *)pcVar21;\n        ppiVar16[0xfffffffb] = (int *)0x11f64c;\n        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);\n      }" ({ "{") (expression_statement "ppiVar16[0xfffffffe] = (int *)sVar10;" (assignment_expression "ppiVar16[0xfffffffe] = (int *)sVar10" (subscript_expression "ppiVar16[0xfffffffe]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffffe") (] "]")) (= "=") (cast_expression "(int *)sVar10" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "sVar10"))) (; ";")) (expression_statement "ppiVar16[0xfffffffd] = ppiVar16[0x1b];" (assignment_expression "ppiVar16[0xfffffffd] = ppiVar16[0x1b]" (subscript_expression "ppiVar16[0xfffffffd]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffffd") (] "]")) (= "=") (subscript_expression "ppiVar16[0x1b]" (identifier "ppiVar16") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (expression_statement "ppiVar16[0xfffffffc] = (int *)pcVar21;" (assignment_expression "ppiVar16[0xfffffffc] = (int *)pcVar21" (subscript_expression "ppiVar16[0xfffffffc]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffffc") (] "]")) (= "=") (cast_expression "(int *)pcVar21" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar21"))) (; ";")) (expression_statement "ppiVar16[0xfffffffb] = (int *)0x11f62d;" (assignment_expression "ppiVar16[0xfffffffb] = (int *)0x11f62d" (subscript_expression "ppiVar16[0xfffffffb]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffffb") (] "]")) (= "=") (cast_expression "(int *)0x11f62d" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x11f62d"))) (; ";")) (expression_statement "iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe]);" (assignment_expression "iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe])" (identifier "iVar12") (= "=") (call_expression "strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe])" (identifier "strncmp") (argument_list "((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],\n                         (size_t)ppiVar16[0xfffffffe])" (( "(") (cast_expression "(char *)ppiVar16[0xfffffffc]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar16[0xfffffffc]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffffc") (] "]"))) (, ",") (cast_expression "(char *)ppiVar16[0xfffffffd]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar16[0xfffffffd]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffffd") (] "]"))) (, ",") (cast_expression "(size_t)ppiVar16[0xfffffffe]" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (subscript_expression "ppiVar16[0xfffffffe]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffffe") (] "]"))) () ")")))) (; ";")) (if_statement "if (iVar12 == 0) break;" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "ppuVar19 = ppuVar19 + 1;" (assignment_expression "ppuVar19 = ppuVar19 + 1" (identifier "ppuVar19") (= "=") (binary_expression "ppuVar19 + 1" (identifier "ppuVar19") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;" (if "if") (parenthesized_expression "((undefined **)ppiVar16[2] == ppuVar19)" (( "(") (binary_expression "(undefined **)ppiVar16[2] == ppuVar19" (cast_expression "(undefined **)ppiVar16[2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "ppiVar16[2]" (identifier "ppiVar16") ([ "[") (number_literal "2") (] "]"))) (== "==") (identifier "ppuVar19")) () ")")) (goto_statement "goto LAB_0011f4bc;" (goto "goto") (statement_identifier "LAB_0011f4bc") (; ";"))) (expression_statement "pcVar21 = *ppuVar19;" (assignment_expression "pcVar21 = *ppuVar19" (identifier "pcVar21") (= "=") (pointer_expression "*ppuVar19" (* "*") (identifier "ppuVar19"))) (; ";")) (expression_statement "ppiVar16[0xfffffffc] = (int *)pcVar21;" (assignment_expression "ppiVar16[0xfffffffc] = (int *)pcVar21" (subscript_expression "ppiVar16[0xfffffffc]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffffc") (] "]")) (= "=") (cast_expression "(int *)pcVar21" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar21"))) (; ";")) (expression_statement "ppiVar16[0xfffffffb] = (int *)0x11f64c;" (assignment_expression "ppiVar16[0xfffffffb] = (int *)0x11f64c" (subscript_expression "ppiVar16[0xfffffffb]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffffb") (] "]")) (= "=") (cast_expression "(int *)0x11f64c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x11f64c"))) (; ";")) (expression_statement "sVar10 = strlen((char *)ppiVar16[0xfffffffc]);" (assignment_expression "sVar10 = strlen((char *)ppiVar16[0xfffffffc])" (identifier "sVar10") (= "=") (call_expression "strlen((char *)ppiVar16[0xfffffffc])" (identifier "strlen") (argument_list "((char *)ppiVar16[0xfffffffc])" (( "(") (cast_expression "(char *)ppiVar16[0xfffffffc]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar16[0xfffffffc]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffffc") (] "]"))) () ")")))) (; ";")) (} "}"))) (expression_statement "piVar14 = ppiVar16[3];" (assignment_expression "piVar14 = ppiVar16[3]" (identifier "piVar14") (= "=") (subscript_expression "ppiVar16[3]" (identifier "ppiVar16") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;" (assignment_expression "*(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8" (pointer_expression "*(byte *)(iVar8 + 0x91)" (* "*") (cast_expression "(byte *)(iVar8 + 0x91)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x91)" (( "(") (binary_expression "iVar8 + 0x91" (identifier "iVar8") (+ "+") (number_literal "0x91")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar8 + 0x91) | 8" (pointer_expression "*(byte *)(iVar8 + 0x91)" (* "*") (cast_expression "(byte *)(iVar8 + 0x91)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x91)" (( "(") (binary_expression "iVar8 + 0x91" (identifier "iVar8") (+ "+") (number_literal "0x91")) () ")")))) (| "|") (number_literal "8"))) (; ";")) (expression_statement "bVar11 = *(byte *)(ppiVar16[1] + 0x2b);" (assignment_expression "bVar11 = *(byte *)(ppiVar16[1] + 0x2b)" (identifier "bVar11") (= "=") (pointer_expression "*(byte *)(ppiVar16[1] + 0x2b)" (* "*") (cast_expression "(byte *)(ppiVar16[1] + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppiVar16[1] + 0x2b)" (( "(") (binary_expression "ppiVar16[1] + 0x2b" (subscript_expression "ppiVar16[1]" (identifier "ppiVar16") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x2b")) () ")"))))) (; ";")) (expression_statement "uVar9 = (uint)bVar11;" (assignment_expression "uVar9 = (uint)bVar11" (identifier "uVar9") (= "=") (cast_expression "(uint)bVar11" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar11"))) (; ";")) (goto_statement "goto LAB_0011f5e9;" (goto "goto") (statement_identifier "LAB_0011f5e9") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    iVar12 = 7;\n    pbVar18 = (byte *)".dtors.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar25 = false;\n    bVar22 = (!bVar23 && !bVar22) == bVar23;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".init_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar22 = (!bVar25 && !bVar22) == bVar25;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".fini_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;\n    bVar22 = false;\n    bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';\n    if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }\nLAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;\nLAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\nLAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    iVar12 = 7;\n    pbVar18 = (byte *)".dtors.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar25 = false;\n    bVar22 = (!bVar23 && !bVar22) == bVar23;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".init_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar22 = (!bVar25 && !bVar22) == bVar25;\n    if (bVar22) goto LAB_0011f238;\n    iVar12 = 0xc;\n    pbVar18 = (byte *)".fini_array.";\n    pbVar20 = (byte *)ppiVar16[0x1b];\n    do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);\n    if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;\n    bVar22 = false;\n    bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';\n    if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }\nLAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;\nLAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);\nLAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }\n  }" ({ "{") (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" (identifier "iVar12") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar18 = (byte *)".dtors.";" (assignment_expression "pbVar18 = (byte *)".dtors."" (identifier "pbVar18") (= "=") (cast_expression "(byte *)".dtors."" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".dtors."" (" """) (string_content ".dtors.") (" """)))) (; ";")) (expression_statement "pbVar20 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar20 = (byte *)ppiVar16[0x1b]" (identifier "pbVar20") (= "=") (cast_expression "(byte *)ppiVar16[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar16[0x1b]" (identifier "ppiVar16") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (do_statement "do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);" (do "do") (compound_statement "{\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    }" ({ "{") (if_statement "if (iVar12 == 0) break;" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + -1" (identifier "iVar12") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar23 = *pbVar18 < *pbVar20;" (assignment_expression "bVar23 = *pbVar18 < *pbVar20" (identifier "bVar23") (= "=") (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" (identifier "bVar22") (= "=") (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (; ";")) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" (identifier "bVar25") (= "=") (false "false")) (; ";")) (expression_statement "bVar22 = (!bVar23 && !bVar22) == bVar23;" (assignment_expression "bVar22 = (!bVar23 && !bVar22) == bVar23" (identifier "bVar22") (= "=") (binary_expression "(!bVar23 && !bVar22) == bVar23" (parenthesized_expression "(!bVar23 && !bVar22)" (( "(") (binary_expression "!bVar23 && !bVar22" (unary_expression "!bVar23" (! "!") (identifier "bVar23")) (&& "&&") (unary_expression "!bVar22" (! "!") (identifier "bVar22"))) () ")")) (== "==") (identifier "bVar23"))) (; ";")) (if_statement "if (bVar22) goto LAB_0011f238;" (if "if") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (goto_statement "goto LAB_0011f238;" (goto "goto") (statement_identifier "LAB_0011f238") (; ";"))) (expression_statement "iVar12 = 0xc;" (assignment_expression "iVar12 = 0xc" (identifier "iVar12") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar18 = (byte *)".init_array.";" (assignment_expression "pbVar18 = (byte *)".init_array."" (identifier "pbVar18") (= "=") (cast_expression "(byte *)".init_array."" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".init_array."" (" """) (string_content ".init_array.") (" """)))) (; ";")) (expression_statement "pbVar20 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar20 = (byte *)ppiVar16[0x1b]" (identifier "pbVar20") (= "=") (cast_expression "(byte *)ppiVar16[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar16[0x1b]" (identifier "ppiVar16") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (do_statement "do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);" (do "do") (compound_statement "{\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar25 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    }" ({ "{") (if_statement "if (iVar12 == 0) break;" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + -1" (identifier "iVar12") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar25 = *pbVar18 < *pbVar20;" (assignment_expression "bVar25 = *pbVar18 < *pbVar20" (identifier "bVar25") (= "=") (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" (identifier "bVar22") (= "=") (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (; ";")) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" (identifier "bVar23") (= "=") (false "false")) (; ";")) (expression_statement "bVar22 = (!bVar25 && !bVar22) == bVar25;" (assignment_expression "bVar22 = (!bVar25 && !bVar22) == bVar25" (identifier "bVar22") (= "=") (binary_expression "(!bVar25 && !bVar22) == bVar25" (parenthesized_expression "(!bVar25 && !bVar22)" (( "(") (binary_expression "!bVar25 && !bVar22" (unary_expression "!bVar25" (! "!") (identifier "bVar25")) (&& "&&") (unary_expression "!bVar22" (! "!") (identifier "bVar22"))) () ")")) (== "==") (identifier "bVar25"))) (; ";")) (if_statement "if (bVar22) goto LAB_0011f238;" (if "if") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (goto_statement "goto LAB_0011f238;" (goto "goto") (statement_identifier "LAB_0011f238") (; ";"))) (expression_statement "iVar12 = 0xc;" (assignment_expression "iVar12 = 0xc" (identifier "iVar12") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar18 = (byte *)".fini_array.";" (assignment_expression "pbVar18 = (byte *)".fini_array."" (identifier "pbVar18") (= "=") (cast_expression "(byte *)".fini_array."" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".fini_array."" (" """) (string_content ".fini_array.") (" """)))) (; ";")) (expression_statement "pbVar20 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar20 = (byte *)ppiVar16[0x1b]" (identifier "pbVar20") (= "=") (cast_expression "(byte *)ppiVar16[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar16[0x1b]" (identifier "ppiVar16") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (do_statement "do {\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    } while (bVar22);" (do "do") (compound_statement "{\n      if (iVar12 == 0) break;\n      iVar12 = iVar12 + -1;\n      bVar23 = *pbVar18 < *pbVar20;\n      bVar22 = *pbVar18 == *pbVar20;\n      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n    }" ({ "{") (if_statement "if (iVar12 == 0) break;" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + -1" (identifier "iVar12") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar23 = *pbVar18 < *pbVar20;" (assignment_expression "bVar23 = *pbVar18 < *pbVar20" (identifier "bVar23") (= "=") (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" (identifier "bVar22") (= "=") (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (; ";")) (if_statement "if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;" (if "if") (parenthesized_expression "((!bVar23 && !bVar22) == bVar23)" (( "(") (binary_expression "(!bVar23 && !bVar22) == bVar23" (parenthesized_expression "(!bVar23 && !bVar22)" (( "(") (binary_expression "!bVar23 && !bVar22" (unary_expression "!bVar23" (! "!") (identifier "bVar23")) (&& "&&") (unary_expression "!bVar22" (! "!") (identifier "bVar22"))) () ")")) (== "==") (identifier "bVar23")) () ")")) (goto_statement "goto LAB_0011f238;" (goto "goto") (statement_identifier "LAB_0011f238") (; ";"))) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" (identifier "bVar22") (= "=") (false "false")) (; ";")) (expression_statement "bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';" (assignment_expression "bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0'" (identifier "bVar25") (= "=") (binary_expression "*(char *)((int)piVar14 + 0xad5) == '\0'" (pointer_expression "*(char *)((int)piVar14 + 0xad5)" (* "*") (cast_expression "(char *)((int)piVar14 + 0xad5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 0xad5)" (( "(") (binary_expression "(int)piVar14 + 0xad5" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "0xad5")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (if_statement "if (!bVar25) {\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }" (if "if") (parenthesized_expression "(!bVar25)" (( "(") (unary_expression "!bVar25" (! "!") (identifier "bVar25")) () ")")) (compound_statement "{\n      iVar12 = 7;\n      pbVar18 = (byte *)ppiVar16[0x1b];\n      pbVar20 = (byte *)".ctors";\n      do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);\n      bVar23 = false;\n      bVar22 = (!bVar22 && !bVar25) == bVar22;\n      if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }\n      goto LAB_0011f238;\n    }" ({ "{") (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" (identifier "iVar12") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar18 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar16[0x1b]" (identifier "pbVar18") (= "=") (cast_expression "(byte *)ppiVar16[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar16[0x1b]" (identifier "ppiVar16") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (expression_statement "pbVar20 = (byte *)".ctors";" (assignment_expression "pbVar20 = (byte *)".ctors"" (identifier "pbVar20") (= "=") (cast_expression "(byte *)".ctors"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".ctors"" (" """) (string_content ".ctors") (" """)))) (; ";")) (do_statement "do {\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar25);" (do "do") (compound_statement "{\n        if (iVar12 == 0) break;\n        iVar12 = iVar12 + -1;\n        bVar22 = *pbVar18 < *pbVar20;\n        bVar25 = *pbVar18 == *pbVar20;\n        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      }" ({ "{") (if_statement "if (iVar12 == 0) break;" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + -1" (identifier "iVar12") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar22 = *pbVar18 < *pbVar20;" (assignment_expression "bVar22 = *pbVar18 < *pbVar20" (identifier "bVar22") (= "=") (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar25 = *pbVar18 == *pbVar20;" (assignment_expression "bVar25 = *pbVar18 == *pbVar20" (identifier "bVar25") (= "=") (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar25)" (( "(") (identifier "bVar25") () ")")) (; ";")) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" (identifier "bVar23") (= "=") (false "false")) (; ";")) (expression_statement "bVar22 = (!bVar22 && !bVar25) == bVar22;" (assignment_expression "bVar22 = (!bVar22 && !bVar25) == bVar22" (identifier "bVar22") (= "=") (binary_expression "(!bVar22 && !bVar25) == bVar22" (parenthesized_expression "(!bVar22 && !bVar25)" (( "(") (binary_expression "!bVar22 && !bVar25" (unary_expression "!bVar22" (! "!") (identifier "bVar22")) (&& "&&") (unary_expression "!bVar25" (! "!") (identifier "bVar25"))) () ")")) (== "==") (identifier "bVar22"))) (; ";")) (if_statement "if (!bVar22) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }" (if "if") (parenthesized_expression "(!bVar22)" (( "(") (unary_expression "!bVar22" (! "!") (identifier "bVar22")) () ")")) (compound_statement "{\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".dtors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);\n        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;\n      }" ({ "{") (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" (identifier "iVar12") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar18 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar16[0x1b]" (identifier "pbVar18") (= "=") (cast_expression "(byte *)ppiVar16[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar16[0x1b]" (identifier "ppiVar16") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (expression_statement "pbVar20 = (byte *)".dtors";" (assignment_expression "pbVar20 = (byte *)".dtors"" (identifier "pbVar20") (= "=") (cast_expression "(byte *)".dtors"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".dtors"" (" """) (string_content ".dtors") (" """)))) (; ";")) (do_statement "do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar22);" (do "do") (compound_statement "{\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar23 = *pbVar18 < *pbVar20;\n          bVar22 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        }" ({ "{") (if_statement "if (iVar12 == 0) break;" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + -1" (identifier "iVar12") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar23 = *pbVar18 < *pbVar20;" (assignment_expression "bVar23 = *pbVar18 < *pbVar20" (identifier "bVar23") (= "=") (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" (identifier "bVar22") (= "=") (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (; ";")) (if_statement "if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;" (if "if") (parenthesized_expression "((!bVar23 && !bVar22) != bVar23)" (( "(") (binary_expression "(!bVar23 && !bVar22) != bVar23" (parenthesized_expression "(!bVar23 && !bVar22)" (( "(") (binary_expression "!bVar23 && !bVar22" (unary_expression "!bVar23" (! "!") (identifier "bVar23")) (&& "&&") (unary_expression "!bVar22" (! "!") (identifier "bVar22"))) () ")")) (!= "!=") (identifier "bVar23")) () ")")) (goto_statement "goto LAB_0011f4a0;" (goto "goto") (statement_identifier "LAB_0011f4a0") (; ";"))) (} "}"))) (goto_statement "goto LAB_0011f238;" (goto "goto") (statement_identifier "LAB_0011f238") (; ";")) (} "}"))) (labeled_statement "LAB_0011f4a0:\n    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;" (statement_identifier "LAB_0011f4a0") (: ":") (if_statement "if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;" (if "if") (parenthesized_expression "(*(char *)((int)piVar14 + 0x3ced) != '\0')" (( "(") (binary_expression "*(char *)((int)piVar14 + 0x3ced) != '\0'" (pointer_expression "*(char *)((int)piVar14 + 0x3ced)" (* "*") (cast_expression "(char *)((int)piVar14 + 0x3ced)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 0x3ced)" (( "(") (binary_expression "(int)piVar14 + 0x3ced" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "0x3ced")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0011f25d;" (goto "goto") (statement_identifier "LAB_0011f25d") (; ";")))) (labeled_statement "LAB_0011f4ad:\n    cVar6 = *(char *)((int)piVar14 + 0x318d);" (statement_identifier "LAB_0011f4ad") (: ":") (expression_statement "cVar6 = *(char *)((int)piVar14 + 0x318d);" (assignment_expression "cVar6 = *(char *)((int)piVar14 + 0x318d)" (identifier "cVar6") (= "=") (pointer_expression "*(char *)((int)piVar14 + 0x318d)" (* "*") (cast_expression "(char *)((int)piVar14 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 0x318d)" (( "(") (binary_expression "(int)piVar14 + 0x318d" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "0x318d")) () ")"))))) (; ";"))) (labeled_statement "LAB_0011f4b4:\n    if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }" (statement_identifier "LAB_0011f4b4") (: ":") (if_statement "if (cVar6 == '\0') {\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      bVar22 = uVar9 < 4;\n      bVar25 = uVar9 == 4;\n      if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }\n    }" ({ "{") (labeled_statement "LAB_0011f4bc:\n      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);" (statement_identifier "LAB_0011f4bc") (: ":") (expression_statement "uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);" (assignment_expression "uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(*ppiVar16[0x1c] + 0x14)" (* "*") (cast_expression "(uint *)(*ppiVar16[0x1c] + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*ppiVar16[0x1c] + 0x14)" (( "(") (binary_expression "*ppiVar16[0x1c] + 0x14" (pointer_expression "*ppiVar16[0x1c]" (* "*") (subscript_expression "ppiVar16[0x1c]" (identifier "ppiVar16") ([ "[") (number_literal "0x1c") (] "]"))) (+ "+") (number_literal "0x14")) () ")"))))) (; ";"))) (expression_statement "uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (identifier "uVar9") (= "=") (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "bVar22 = uVar9 < 4;" (assignment_expression "bVar22 = uVar9 < 4" (identifier "bVar22") (= "=") (binary_expression "uVar9 < 4" (identifier "uVar9") (< "<") (number_literal "4"))) (; ";")) (expression_statement "bVar25 = uVar9 == 4;" (assignment_expression "bVar25 = uVar9 == 4" (identifier "bVar25") (= "=") (binary_expression "uVar9 == 4" (identifier "uVar9") (== "==") (number_literal "4"))) (; ";")) (if_statement "if (4 < uVar9) {\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }" (if "if") (parenthesized_expression "(4 < uVar9)" (( "(") (binary_expression "4 < uVar9" (number_literal "4") (< "<") (identifier "uVar9")) () ")")) (compound_statement "{\n        iVar12 = 7;\n        pbVar18 = (byte *)ppiVar16[0x1b];\n        pbVar20 = (byte *)".ctors";\n        do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);\n        bVar23 = false;\n        bVar22 = (!bVar22 && !bVar25) == bVar22;\n        if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }\n        ppiVar16[10] = ppiVar16[0x19];\n        ppiVar16[0xb] = ppiVar16[0x1a];\n        ppiVar16[9] = &DAT_00414774;\n        ppiVar16[0xfffffffd] = (int *)0x1;\n        ppiVar16[0xfffffffc] = (int *)0x0;\n        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);\n        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);\n        ppiVar16[0xfffffff9] = &DAT_00414774;\n        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);\n        ppiVar16[0xfffffff7] = (int *)0x11f553;\n        FUN_000a8d90();\n        ppiVar15 = ppiVar16 + 0x17;\n        ppiVar16 = ppiVar16 + 0xffffffff;\n        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);\n        goto LAB_0011f282;\n      }" ({ "{") (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" (identifier "iVar12") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar18 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar16[0x1b]" (identifier "pbVar18") (= "=") (cast_expression "(byte *)ppiVar16[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar16[0x1b]" (identifier "ppiVar16") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (expression_statement "pbVar20 = (byte *)".ctors";" (assignment_expression "pbVar20 = (byte *)".ctors"" (identifier "pbVar20") (= "=") (cast_expression "(byte *)".ctors"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".ctors"" (" """) (string_content ".ctors") (" """)))) (; ";")) (do_statement "do {\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        } while (bVar25);" (do "do") (compound_statement "{\n          if (iVar12 == 0) break;\n          iVar12 = iVar12 + -1;\n          bVar22 = *pbVar18 < *pbVar20;\n          bVar25 = *pbVar18 == *pbVar20;\n          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n        }" ({ "{") (if_statement "if (iVar12 == 0) break;" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + -1" (identifier "iVar12") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar22 = *pbVar18 < *pbVar20;" (assignment_expression "bVar22 = *pbVar18 < *pbVar20" (identifier "bVar22") (= "=") (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar25 = *pbVar18 == *pbVar20;" (assignment_expression "bVar25 = *pbVar18 == *pbVar20" (identifier "bVar25") (= "=") (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar25)" (( "(") (identifier "bVar25") () ")")) (; ";")) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" (identifier "bVar23") (= "=") (false "false")) (; ";")) (expression_statement "bVar22 = (!bVar22 && !bVar25) == bVar22;" (assignment_expression "bVar22 = (!bVar22 && !bVar25) == bVar22" (identifier "bVar22") (= "=") (binary_expression "(!bVar22 && !bVar25) == bVar22" (parenthesized_expression "(!bVar22 && !bVar25)" (( "(") (binary_expression "!bVar22 && !bVar25" (unary_expression "!bVar22" (! "!") (identifier "bVar22")) (&& "&&") (unary_expression "!bVar25" (! "!") (identifier "bVar25"))) () ")")) (== "==") (identifier "bVar22"))) (; ";")) (if_statement "if (bVar22) {\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }\n        else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }" (if "if") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (compound_statement "{\nLAB_0011f504:\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".init_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) goto LAB_0011f570;\n        }" ({ "{") (labeled_statement "LAB_0011f504:\n          bVar25 = false;" (statement_identifier "LAB_0011f504") (: ":") (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" (identifier "bVar25") (= "=") (false "false")) (; ";"))) (expression_statement "iVar12 = 0xc;" (assignment_expression "iVar12 = 0xc" (identifier "iVar12") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar18 = *(byte **)(iVar8 + 0x20);" (assignment_expression "pbVar18 = *(byte **)(iVar8 + 0x20)" (identifier "pbVar18") (= "=") (pointer_expression "*(byte **)(iVar8 + 0x20)" (* "*") (cast_expression "(byte **)(iVar8 + 0x20)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar8 + 0x20)" (( "(") (binary_expression "iVar8 + 0x20" (identifier "iVar8") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "pbVar20 = (byte *)".init_array";" (assignment_expression "pbVar20 = (byte *)".init_array"" (identifier "pbVar20") (= "=") (cast_expression "(byte *)".init_array"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".init_array"" (" """) (string_content ".init_array") (" """)))) (; ";")) (do_statement "do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);" (do "do") (compound_statement "{\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar12 == 0) break;" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + -1" (identifier "iVar12") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar25 = *pbVar18 < *pbVar20;" (assignment_expression "bVar25 = *pbVar18 < *pbVar20" (identifier "bVar25") (= "=") (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" (identifier "bVar22") (= "=") (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (; ";")) (expression_statement "bVar22 = (!bVar25 && !bVar22) == bVar25;" (assignment_expression "bVar22 = (!bVar25 && !bVar22) == bVar25" (identifier "bVar22") (= "=") (binary_expression "(!bVar25 && !bVar22) == bVar25" (parenthesized_expression "(!bVar25 && !bVar22)" (( "(") (binary_expression "!bVar25 && !bVar22" (unary_expression "!bVar25" (! "!") (identifier "bVar25")) (&& "&&") (unary_expression "!bVar22" (! "!") (identifier "bVar22"))) () ")")) (== "==") (identifier "bVar25"))) (; ";")) (if_statement "if (!bVar22) goto LAB_0011f570;" (if "if") (parenthesized_expression "(!bVar22)" (( "(") (unary_expression "!bVar22" (! "!") (identifier "bVar22")) () ")")) (goto_statement "goto LAB_0011f570;" (goto "goto") (statement_identifier "LAB_0011f570") (; ";"))) (} "}")) (else_clause "else {\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }" (else "else") (compound_statement "{\n          iVar12 = 7;\n          pbVar18 = (byte *)".ctors.";\n          pbVar20 = (byte *)ppiVar16[0x1b];\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar22 = (!bVar23 && !bVar22) == bVar23;\n          if (bVar22) goto LAB_0011f504;\nLAB_0011f570:\n          bVar25 = false;\n          iVar12 = 7;\n          pbVar18 = (byte *)ppiVar16[0x1b];\n          pbVar20 = (byte *)".dtors";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          bVar23 = false;\n          bVar22 = (!bVar25 && !bVar22) == bVar25;\n          if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }\n          bVar25 = false;\n          iVar12 = 0xc;\n          pbVar18 = *(byte **)(iVar8 + 0x20);\n          pbVar20 = (byte *)".fini_array";\n          do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);\n          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;\n        }" ({ "{") (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" (identifier "iVar12") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar18 = (byte *)".ctors.";" (assignment_expression "pbVar18 = (byte *)".ctors."" (identifier "pbVar18") (= "=") (cast_expression "(byte *)".ctors."" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".ctors."" (" """) (string_content ".ctors.") (" """)))) (; ";")) (expression_statement "pbVar20 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar20 = (byte *)ppiVar16[0x1b]" (identifier "pbVar20") (= "=") (cast_expression "(byte *)ppiVar16[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar16[0x1b]" (identifier "ppiVar16") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (do_statement "do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);" (do "do") (compound_statement "{\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar23 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar12 == 0) break;" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + -1" (identifier "iVar12") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar23 = *pbVar18 < *pbVar20;" (assignment_expression "bVar23 = *pbVar18 < *pbVar20" (identifier "bVar23") (= "=") (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" (identifier "bVar22") (= "=") (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (; ";")) (expression_statement "bVar22 = (!bVar23 && !bVar22) == bVar23;" (assignment_expression "bVar22 = (!bVar23 && !bVar22) == bVar23" (identifier "bVar22") (= "=") (binary_expression "(!bVar23 && !bVar22) == bVar23" (parenthesized_expression "(!bVar23 && !bVar22)" (( "(") (binary_expression "!bVar23 && !bVar22" (unary_expression "!bVar23" (! "!") (identifier "bVar23")) (&& "&&") (unary_expression "!bVar22" (! "!") (identifier "bVar22"))) () ")")) (== "==") (identifier "bVar23"))) (; ";")) (if_statement "if (bVar22) goto LAB_0011f504;" (if "if") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (goto_statement "goto LAB_0011f504;" (goto "goto") (statement_identifier "LAB_0011f504") (; ";"))) (labeled_statement "LAB_0011f570:\n          bVar25 = false;" (statement_identifier "LAB_0011f570") (: ":") (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" (identifier "bVar25") (= "=") (false "false")) (; ";"))) (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" (identifier "iVar12") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar18 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar16[0x1b]" (identifier "pbVar18") (= "=") (cast_expression "(byte *)ppiVar16[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar16[0x1b]" (identifier "ppiVar16") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (expression_statement "pbVar20 = (byte *)".dtors";" (assignment_expression "pbVar20 = (byte *)".dtors"" (identifier "pbVar20") (= "=") (cast_expression "(byte *)".dtors"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".dtors"" (" """) (string_content ".dtors") (" """)))) (; ";")) (do_statement "do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);" (do "do") (compound_statement "{\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar12 == 0) break;" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + -1" (identifier "iVar12") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar25 = *pbVar18 < *pbVar20;" (assignment_expression "bVar25 = *pbVar18 < *pbVar20" (identifier "bVar25") (= "=") (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" (identifier "bVar22") (= "=") (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (; ";")) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" (identifier "bVar23") (= "=") (false "false")) (; ";")) (expression_statement "bVar22 = (!bVar25 && !bVar22) == bVar25;" (assignment_expression "bVar22 = (!bVar25 && !bVar22) == bVar25" (identifier "bVar22") (= "=") (binary_expression "(!bVar25 && !bVar22) == bVar25" (parenthesized_expression "(!bVar25 && !bVar22)" (( "(") (binary_expression "!bVar25 && !bVar22" (unary_expression "!bVar25" (! "!") (identifier "bVar25")) (&& "&&") (unary_expression "!bVar22" (! "!") (identifier "bVar22"))) () ")")) (== "==") (identifier "bVar25"))) (; ";")) (if_statement "if (!bVar22) {\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }" (if "if") (parenthesized_expression "(!bVar22)" (( "(") (unary_expression "!bVar22" (! "!") (identifier "bVar22")) () ")")) (compound_statement "{\n            iVar12 = 7;\n            pbVar18 = (byte *)".dtors.";\n            pbVar20 = (byte *)ppiVar16[0x1b];\n            do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);\n            bVar22 = (!bVar23 && !bVar22) == bVar23;\n            if (!bVar22) goto LAB_0011f280;\n          }" ({ "{") (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" (identifier "iVar12") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar18 = (byte *)".dtors.";" (assignment_expression "pbVar18 = (byte *)".dtors."" (identifier "pbVar18") (= "=") (cast_expression "(byte *)".dtors."" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".dtors."" (" """) (string_content ".dtors.") (" """)))) (; ";")) (expression_statement "pbVar20 = (byte *)ppiVar16[0x1b];" (assignment_expression "pbVar20 = (byte *)ppiVar16[0x1b]" (identifier "pbVar20") (= "=") (cast_expression "(byte *)ppiVar16[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar16[0x1b]" (identifier "ppiVar16") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (do_statement "do {\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar22);" (do "do") (compound_statement "{\n              if (iVar12 == 0) break;\n              iVar12 = iVar12 + -1;\n              bVar23 = *pbVar18 < *pbVar20;\n              bVar22 = *pbVar18 == *pbVar20;\n              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            }" ({ "{") (if_statement "if (iVar12 == 0) break;" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + -1" (identifier "iVar12") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar23 = *pbVar18 < *pbVar20;" (assignment_expression "bVar23 = *pbVar18 < *pbVar20" (identifier "bVar23") (= "=") (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" (identifier "bVar22") (= "=") (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (; ";")) (expression_statement "bVar22 = (!bVar23 && !bVar22) == bVar23;" (assignment_expression "bVar22 = (!bVar23 && !bVar22) == bVar23" (identifier "bVar22") (= "=") (binary_expression "(!bVar23 && !bVar22) == bVar23" (parenthesized_expression "(!bVar23 && !bVar22)" (( "(") (binary_expression "!bVar23 && !bVar22" (unary_expression "!bVar23" (! "!") (identifier "bVar23")) (&& "&&") (unary_expression "!bVar22" (! "!") (identifier "bVar22"))) () ")")) (== "==") (identifier "bVar23"))) (; ";")) (if_statement "if (!bVar22) goto LAB_0011f280;" (if "if") (parenthesized_expression "(!bVar22)" (( "(") (unary_expression "!bVar22" (! "!") (identifier "bVar22")) () ")")) (goto_statement "goto LAB_0011f280;" (goto "goto") (statement_identifier "LAB_0011f280") (; ";"))) (} "}"))) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" (identifier "bVar25") (= "=") (false "false")) (; ";")) (expression_statement "iVar12 = 0xc;" (assignment_expression "iVar12 = 0xc" (identifier "iVar12") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar18 = *(byte **)(iVar8 + 0x20);" (assignment_expression "pbVar18 = *(byte **)(iVar8 + 0x20)" (identifier "pbVar18") (= "=") (pointer_expression "*(byte **)(iVar8 + 0x20)" (* "*") (cast_expression "(byte **)(iVar8 + 0x20)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar8 + 0x20)" (( "(") (binary_expression "iVar8 + 0x20" (identifier "iVar8") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "pbVar20 = (byte *)".fini_array";" (assignment_expression "pbVar20 = (byte *)".fini_array"" (identifier "pbVar20") (= "=") (cast_expression "(byte *)".fini_array"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".fini_array"" (" """) (string_content ".fini_array") (" """)))) (; ";")) (do_statement "do {\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          } while (bVar22);" (do "do") (compound_statement "{\n            if (iVar12 == 0) break;\n            iVar12 = iVar12 + -1;\n            bVar25 = *pbVar18 < *pbVar20;\n            bVar22 = *pbVar18 == *pbVar20;\n            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar12 == 0) break;" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + -1" (identifier "iVar12") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar25 = *pbVar18 < *pbVar20;" (assignment_expression "bVar25 = *pbVar18 < *pbVar20" (identifier "bVar25") (= "=") (binary_expression "*pbVar18 < *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar22 = *pbVar18 == *pbVar20;" (assignment_expression "bVar22 = *pbVar18 == *pbVar20" (identifier "bVar22") (= "=") (binary_expression "*pbVar18 == *pbVar20" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (; ";")) (if_statement "if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;" (if "if") (parenthesized_expression "((!bVar25 && !bVar22) != bVar25)" (( "(") (binary_expression "(!bVar25 && !bVar22) != bVar25" (parenthesized_expression "(!bVar25 && !bVar22)" (( "(") (binary_expression "!bVar25 && !bVar22" (unary_expression "!bVar25" (! "!") (identifier "bVar25")) (&& "&&") (unary_expression "!bVar22" (! "!") (identifier "bVar22"))) () ")")) (!= "!=") (identifier "bVar25")) () ")")) (goto_statement "goto LAB_0011f280;" (goto "goto") (statement_identifier "LAB_0011f280") (; ";"))) (} "}")))) (expression_statement "ppiVar16[10] = ppiVar16[0x19];" (assignment_expression "ppiVar16[10] = ppiVar16[0x19]" (subscript_expression "ppiVar16[10]" (identifier "ppiVar16") ([ "[") (number_literal "10") (] "]")) (= "=") (subscript_expression "ppiVar16[0x19]" (identifier "ppiVar16") ([ "[") (number_literal "0x19") (] "]"))) (; ";")) (expression_statement "ppiVar16[0xb] = ppiVar16[0x1a];" (assignment_expression "ppiVar16[0xb] = ppiVar16[0x1a]" (subscript_expression "ppiVar16[0xb]" (identifier "ppiVar16") ([ "[") (number_literal "0xb") (] "]")) (= "=") (subscript_expression "ppiVar16[0x1a]" (identifier "ppiVar16") ([ "[") (number_literal "0x1a") (] "]"))) (; ";")) (expression_statement "ppiVar16[9] = &DAT_00414774;" (assignment_expression "ppiVar16[9] = &DAT_00414774" (subscript_expression "ppiVar16[9]" (identifier "ppiVar16") ([ "[") (number_literal "9") (] "]")) (= "=") (pointer_expression "&DAT_00414774" (& "&") (identifier "DAT_00414774"))) (; ";")) (expression_statement "ppiVar16[0xfffffffd] = (int *)0x1;" (assignment_expression "ppiVar16[0xfffffffd] = (int *)0x1" (subscript_expression "ppiVar16[0xfffffffd]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffffd") (] "]")) (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "ppiVar16[0xfffffffc] = (int *)0x0;" (assignment_expression "ppiVar16[0xfffffffc] = (int *)0x0" (subscript_expression "ppiVar16[0xfffffffc]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffffc") (] "]")) (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);" (assignment_expression "ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9)" (subscript_expression "ppiVar16[0xfffffffb]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffffb") (] "]")) (= "=") (cast_expression "(int *)(ppiVar16 + 9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppiVar16 + 9)" (( "(") (binary_expression "ppiVar16 + 9" (identifier "ppiVar16") (+ "+") (number_literal "9")) () ")")))) (; ";")) (expression_statement "ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);" (assignment_expression "ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10)" (subscript_expression "ppiVar16[0xfffffffa]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffffa") (] "]")) (= "=") (cast_expression "(int *)(ppiVar16 + 10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppiVar16 + 10)" (( "(") (binary_expression "ppiVar16 + 10" (identifier "ppiVar16") (+ "+") (number_literal "10")) () ")")))) (; ";")) (expression_statement "ppiVar16[0xfffffff9] = &DAT_00414774;" (assignment_expression "ppiVar16[0xfffffff9] = &DAT_00414774" (subscript_expression "ppiVar16[0xfffffff9]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffff9") (] "]")) (= "=") (pointer_expression "&DAT_00414774" (& "&") (identifier "DAT_00414774"))) (; ";")) (expression_statement "ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);" (assignment_expression "ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4)" (subscript_expression "ppiVar16[0xfffffff8]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffff8") (] "]")) (= "=") (cast_expression "(int *)(ppiVar16 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppiVar16 + 4)" (( "(") (binary_expression "ppiVar16 + 4" (identifier "ppiVar16") (+ "+") (number_literal "4")) () ")")))) (; ";")) (expression_statement "ppiVar16[0xfffffff7] = (int *)0x11f553;" (assignment_expression "ppiVar16[0xfffffff7] = (int *)0x11f553" (subscript_expression "ppiVar16[0xfffffff7]" (identifier "ppiVar16") ([ "[") (number_literal "0xfffffff7") (] "]")) (= "=") (cast_expression "(int *)0x11f553" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x11f553"))) (; ";")) (expression_statement "FUN_000a8d90();" (call_expression "FUN_000a8d90()" (identifier "FUN_000a8d90") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppiVar15 = ppiVar16 + 0x17;" (assignment_expression "ppiVar15 = ppiVar16 + 0x17" (identifier "ppiVar15") (= "=") (binary_expression "ppiVar16 + 0x17" (identifier "ppiVar16") (+ "+") (number_literal "0x17"))) (; ";")) (expression_statement "ppiVar16 = ppiVar16 + 0xffffffff;" (assignment_expression "ppiVar16 = ppiVar16 + 0xffffffff" (identifier "ppiVar16") (= "=") (binary_expression "ppiVar16 + 0xffffffff" (identifier "ppiVar16") (+ "+") (number_literal "0xffffffff"))) (; ";")) (expression_statement "uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);" (assignment_expression "uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac)" (identifier "uVar9") (= "=") (binary_expression "(uint)*(byte *)((*ppiVar15)[1] + 0xac)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((*ppiVar15)[1] + 0xac)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((*ppiVar15)[1] + 0xac)" (( "(") (binary_expression "(*ppiVar15)[1] + 0xac" (subscript_expression "(*ppiVar15)[1]" (parenthesized_expression "(*ppiVar15)" (( "(") (pointer_expression "*ppiVar15" (* "*") (identifier "ppiVar15")) () ")")) ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0xac")) () ")"))))) (; ";")) (goto_statement "goto LAB_0011f282;" (goto "goto") (statement_identifier "LAB_0011f282") (; ";")) (} "}"))) (} "}")))) (} "}")))) (labeled_statement "LAB_0011f280:\n  uVar9 = 0;" (statement_identifier "LAB_0011f280") (: ":") (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";"))) (labeled_statement "LAB_0011f282:\n  uVar1 = *(uint *)(iVar8 + 0x54);" (statement_identifier "LAB_0011f282") (: ":") (expression_statement "uVar1 = *(uint *)(iVar8 + 0x54);" (assignment_expression "uVar1 = *(uint *)(iVar8 + 0x54)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(iVar8 + 0x54)" (* "*") (cast_expression "(uint *)(iVar8 + 0x54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x54)" (( "(") (binary_expression "iVar8 + 0x54" (identifier "iVar8") (+ "+") (number_literal "0x54")) () ")"))))) (; ";"))) (expression_statement "*(uint *)((int)ppiVar16 + -4) = uVar9;" (assignment_expression "*(uint *)((int)ppiVar16 + -4) = uVar9" (pointer_expression "*(uint *)((int)ppiVar16 + -4)" (* "*") (cast_expression "(uint *)((int)ppiVar16 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + -4)" (( "(") (binary_expression "(int)ppiVar16 + -4" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar16 + -8) = *(undefined4 *)((int)ppiVar16 + 0x78);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -8) = *(undefined4 *)((int)ppiVar16 + 0x78)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -8)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + -8)" (( "(") (binary_expression "(int)ppiVar16 + -8" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)ppiVar16 + 0x78)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar16 + 0x78)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + 0x78)" (( "(") (binary_expression "(int)ppiVar16 + 0x78" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "0x78")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0xc) = *(undefined4 *)((int)ppiVar16 + 0x70);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0xc) = *(undefined4 *)((int)ppiVar16 + 0x70)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar16 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + -0xc)" (( "(") (binary_expression "(int)ppiVar16 + -0xc" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)ppiVar16 + 0x70)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar16 + 0x70)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + 0x70)" (( "(") (binary_expression "(int)ppiVar16 + 0x70" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "0x70")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x6c);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x6c)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + -0x10)" (( "(") (binary_expression "(int)ppiVar16 + -0x10" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)ppiVar16 + 0x6c)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar16 + 0x6c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + 0x6c)" (( "(") (binary_expression "(int)ppiVar16 + 0x6c" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "0x6c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x14) = *(undefined4 *)((int)ppiVar16 + 0x68);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x14) = *(undefined4 *)((int)ppiVar16 + 0x68)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + -0x14)" (( "(") (binary_expression "(int)ppiVar16 + -0x14" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)ppiVar16 + 0x68)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar16 + 0x68)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + 0x68)" (( "(") (binary_expression "(int)ppiVar16 + 0x68" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "0x68")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x18) = *(undefined4 *)((int)ppiVar16 + 100);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x18) = *(undefined4 *)((int)ppiVar16 + 100)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar16 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + -0x18)" (( "(") (binary_expression "(int)ppiVar16 + -0x18" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)ppiVar16 + 100)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar16 + 100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + 100)" (( "(") (binary_expression "(int)ppiVar16 + 100" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "100")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x1c) = *(undefined4 *)((int)ppiVar16 + 0x60);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x1c) = *(undefined4 *)((int)ppiVar16 + 0x60)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar16 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + -0x1c)" (( "(") (binary_expression "(int)ppiVar16 + -0x1c" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)ppiVar16 + 0x60)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar16 + 0x60)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + 0x60)" (( "(") (binary_expression "(int)ppiVar16 + 0x60" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (expression_statement "*(int *)((int)ppiVar16 + -0x20) = iVar8;" (assignment_expression "*(int *)((int)ppiVar16 + -0x20) = iVar8" (pointer_expression "*(int *)((int)ppiVar16 + -0x20)" (* "*") (cast_expression "(int *)((int)ppiVar16 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + -0x20)" (( "(") (binary_expression "(int)ppiVar16 + -0x20" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x24) = 0x11f2a4;" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x24) = 0x11f2a4" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar16 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + -0x24)" (( "(") (binary_expression "(int)ppiVar16 + -0x24" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x11f2a4")) (; ";")) (expression_statement "uVar28 = FUN_00191bd0();" (assignment_expression "uVar28 = FUN_00191bd0()" (identifier "uVar28") (= "=") (call_expression "FUN_00191bd0()" (identifier "FUN_00191bd0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "**(undefined8 **)((int)ppiVar16 + 0x80) = uVar28;" (assignment_expression "**(undefined8 **)((int)ppiVar16 + 0x80) = uVar28" (pointer_expression "**(undefined8 **)((int)ppiVar16 + 0x80)" (* "*") (pointer_expression "*(undefined8 **)((int)ppiVar16 + 0x80)" (* "*") (cast_expression "(undefined8 **)((int)ppiVar16 + 0x80)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar16 + 0x80)" (( "(") (binary_expression "(int)ppiVar16 + 0x80" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "0x80")) () ")"))))) (= "=") (identifier "uVar28")) (; ";")) (if_statement "if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar16 + -8) = 0;\n    *(int *)((int)ppiVar16 + -0xc) = iVar8;\n    *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60);\n    *(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2;\n    uVar7 = FUN_00107cf0();\n    *(undefined4 *)(iVar8 + 0x5c) = uVar7;\n  }" (if "if") (parenthesized_expression "(((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0))" (( "(") (binary_expression "((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0)" (parenthesized_expression "((uVar1 & 2) != 0)" (( "(") (binary_expression "(uVar1 & 2) != 0" (parenthesized_expression "(uVar1 & 2)" (( "(") (binary_expression "uVar1 & 2" (identifier "uVar1") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0)" (( "(") (binary_expression "((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0" (parenthesized_expression "((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5)" (( "(") (binary_expression "(uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5" (parenthesized_expression "(uVar1 ^ *(uint *)(iVar8 + 0x54))" (( "(") (binary_expression "uVar1 ^ *(uint *)(iVar8 + 0x54)" (identifier "uVar1") (^ "^") (pointer_expression "*(uint *)(iVar8 + 0x54)" (* "*") (cast_expression "(uint *)(iVar8 + 0x54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x54)" (( "(") (binary_expression "iVar8 + 0x54" (identifier "iVar8") (+ "+") (number_literal "0x54")) () ")"))))) () ")")) (& "&") (number_literal "5")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    *(undefined4 *)((int)ppiVar16 + -8) = 0;\n    *(int *)((int)ppiVar16 + -0xc) = iVar8;\n    *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60);\n    *(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2;\n    uVar7 = FUN_00107cf0();\n    *(undefined4 *)(iVar8 + 0x5c) = uVar7;\n  }" ({ "{") (expression_statement "*(undefined4 *)((int)ppiVar16 + -8) = 0;" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -8) = 0" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -8)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + -8)" (( "(") (binary_expression "(int)ppiVar16 + -8" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)((int)ppiVar16 + -0xc) = iVar8;" (assignment_expression "*(int *)((int)ppiVar16 + -0xc) = iVar8" (pointer_expression "*(int *)((int)ppiVar16 + -0xc)" (* "*") (cast_expression "(int *)((int)ppiVar16 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + -0xc)" (( "(") (binary_expression "(int)ppiVar16 + -0xc" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60);" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60)" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + -0x10)" (( "(") (binary_expression "(int)ppiVar16 + -0x10" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)ppiVar16 + 0x60)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar16 + 0x60)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + 0x60)" (( "(") (binary_expression "(int)ppiVar16 + 0x60" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2;" (assignment_expression "*(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2" (pointer_expression "*(undefined4 *)((int)ppiVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + -0x14)" (( "(") (binary_expression "(int)ppiVar16 + -0x14" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11f2d2")) (; ";")) (expression_statement "uVar7 = FUN_00107cf0();" (assignment_expression "uVar7 = FUN_00107cf0()" (identifier "uVar7") (= "=") (call_expression "FUN_00107cf0()" (identifier "FUN_00107cf0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar8 + 0x5c) = uVar7;" (assignment_expression "*(undefined4 *)(iVar8 + 0x5c) = uVar7" (pointer_expression "*(undefined4 *)(iVar8 + 0x5c)" (* "*") (cast_expression "(undefined4 *)(iVar8 + 0x5c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x5c)" (( "(") (binary_expression "iVar8 + 0x5c" (identifier "iVar8") (+ "+") (number_literal "0x5c")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4) = 1;" (assignment_expression "*(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4) = 1" (pointer_expression "*(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4)" (* "*") (cast_expression "(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)ppiVar16 + 0x60) + 0x1c4)" (( "(") (binary_expression "*(int *)((int)ppiVar16 + 0x60) + 0x1c4" (pointer_expression "*(int *)((int)ppiVar16 + 0x60)" (* "*") (cast_expression "(int *)((int)ppiVar16 + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar16 + 0x60)" (( "(") (binary_expression "(int)ppiVar16 + 0x60" (cast_expression "(int)ppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar16")) (+ "+") (number_literal "0x60")) () ")")))) (+ "+") (number_literal "0x1c4")) () ")")))) (= "=") (number_literal "1")) (; ";")) (return_statement "return iVar8;" (return "return") (identifier "iVar8") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original name: layout<32, true>
   DWARF original prototype: Output_section * layout<32,_true>(Layout * this,
   Sized_relobj_file<32,_true> * object, uint shndx, char * name, Shdr<32,_true> * shdr, uint
   sh_type, uint reloc_shndx, uint param_9, off_t * off) */

Output_section * __thiscall
gold::Layout::layout<32,_true>
          (Layout *this,Sized_relobj_file<32,_true> *object,uint shndx,char *name,
          Shdr<32,_true> *shdr,uint sh_type,uint reloc_shndx,uint param_7,off_t *off)

{
  type_1 __node_gen;
  type_2 name_key;
  
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (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: (identifier)) (declaration type: (primitive_type) 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: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator 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: (identifier)) (declaration type: (primitive_type) 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: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) 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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (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 (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (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))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal))) consequence: (goto_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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal))) (number_literal) (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (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: (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)))) (goto_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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (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: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (identifier))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (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))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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)))))))) 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)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (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: (identifier) right: (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))))))) (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: (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: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal))) (number_literal) (number_literal) (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: (subscript_expression argument: (identifier) index: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (if_statement condition: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (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 (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence))))) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (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))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (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: (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: (pointer_expression argument: (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: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (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: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) 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)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (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: (pointer_expression argument: (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: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (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))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (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))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (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))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence))))) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal))))) (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 (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (false)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (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))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (false)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (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))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal)) right: (number_literal))))))) (goto_statement label: (statement_identifier)))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (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))) 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) (return_statement (identifier)))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

int MASKED(int param_1,int *param_2,undefined4 param_3,int *param_4,int *param_5,
                undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 *param_9)

{
  uint uVar1;
  undefined4 *puVar2;
  undefined4 uVar3;
  uint uVar4;
  uint uVar5;
  char cVar6;
  undefined4 uVar7;
  int iVar8;
  uint uVar9;
  size_t sVar10;
  byte bVar11;
  int iVar12;
  int *piVar13;
  int *piVar14;
  int **ppiVar15;
  int **ppiVar16;
  int **ppiVar17;
  byte *pbVar18;
  undefined **ppuVar19;
  byte *pbVar20;
  char *pcVar21;
  bool bVar22;
  bool bVar23;
  undefined1 uVar24;
  bool bVar25;
  undefined1 uVar26;
  byte bVar27;
  undefined8 uVar28;
  int unaff_retaddr;
  int *apiStackY_8c [3];
  int *apiStack_60 [8];
  int *local_40 [3];
  undefined1 local_34 [4];
  byte local_30 [28];
  undefined4 uStack_14;
  
  bVar27 = 0;
  uStack_14 = 0x11efd9;
  *param_9 = 0;
  param_9[1] = 0;
  apiStack_60[0] = param_5;
  cVar6 = FUN_00117e80(param_1,param_2,param_4);
  ppiVar16 = apiStack_60 + 1;
  ppiVar15 = apiStack_60 + 1;
  if (cVar6 == '\0') {
    return 0;
  }
  uVar9 = *(uint *)(DAT_004144e8 + 8);
  if (uVar9 == 0) goto LAB_0011f5b8;
  if (*(char *)(uVar9 + 0x318d) == '\0') {
LAB_0011f049:
    piVar13 = &DAT_004144e8;
    if (*(char *)(uVar9 + 0x5871) != '\0') {
      uVar24 = apiStack_60 + 1 < (int **)0x4;
      uVar26 = &stack0x00000000 == (undefined1 *)0x60;
      apiStack_60[2] = &DAT_004144e8;
      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);
      iVar8 = 0xe;
      apiStack_60[2] = (int *)0x2fd3ca;
      pbVar18 = (byte *)".text.unlikely";
      pbVar20 = (byte *)local_40[2];
      do {
        if (iVar8 == 0) break;
        iVar8 = iVar8 + -1;
        uVar24 = *pbVar18 < *pbVar20;
        uVar26 = *pbVar18 == *pbVar20;
        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
      } while ((bool)uVar26);
      ppiVar15 = apiStack_60;
      if ((!(bool)uVar24 && !(bool)uVar26) == (bool)uVar24) {
        if ((byte *)local_40[2] != local_30) {
          FUN_00248220(local_40[2]);
        }
        ppiVar17 = apiStack_60;
        uVar9 = *(uint *)(*param_4 + 8);
        uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;
        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011f67b;
        uVar4 = uVar1 & 0xfffff50f;
        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {
          uVar4 = uVar1 & 0xfffff58f;
        }
        uVar7 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);
        iVar8 = FUN_00110850(unaff_retaddr,uVar7,local_40[2],param_5,
                             uVar4 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18,0,0,0);
        ppiVar16 = apiStack_60;
        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;
        goto LAB_0011f150;
      }
      piVar13 = apiStack_60[1];
      if ((byte *)local_40[2] != local_30) {
        FUN_00248220(local_40[2]);
        ppiVar15 = apiStack_60;
        piVar13 = apiStack_60[1];
      }
    }
    ppiVar15[1] = piVar13;
    ppiVar15[10] = ppiVar15[0x19];
    ppiVar15[0xb] = ppiVar15[0x1a];
    ppiVar15[-2] = (int *)local_34;
    ppiVar15[-3] = ppiVar15[0x18] + 0x81;
    ppiVar15[-4] = (int *)(ppiVar15 + 7);
    ppiVar15[-5] = (int *)0x11f087;
    FUN_001196a0();
    piVar13 = ppiVar15[6];
    ppiVar17 = ppiVar15 + -1;
    uVar9 = *(uint *)(*ppiVar15[0x1b] + 8);
    uVar1 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8;
    uVar4 = (uVar9 & 0xff00) << 8;
    if (piVar13 == ppiVar15[0x17] + 0x82) {
      ppiVar15[-3] = (int *)0x1;
      ppiVar15[-4] = (int *)0x0;
      ppiVar15[-5] = (int *)0x0;
      ppiVar15[-6] = (int *)0x0;
      ppiVar15[-7] = (int *)0x1;
      ppiVar15[-8] = (int *)0x0;
      ppiVar15[-9] = (int *)(uVar1 | uVar4 | uVar9 << 0x18);
      ppiVar15[-10] = ppiVar15[0x1c];
      ppiVar15[-0xb] = ppiVar15[0x1a];
      ppiVar15[-0xc] = ppiVar15[0x18];
      ppiVar15[-0xd] = ppiVar15[0x17];
      ppiVar15[-0xe] = (int *)0x11f402;
      iVar8 = FUN_00110ae0();
      ppiVar16 = ppiVar15 + -1;
      apiStack_60[1] = *ppiVar15;
      if (iVar8 == 0) {
        return 0;
      }
    }
    else {
      iVar8 = *(int *)(**ppiVar15 + 8);
      if (iVar8 == 0) {
LAB_0011f67b:
                    /* WARNING: Subroutine does not return */
        *(code **)((int)ppiVar17 + -4) = FUN_0011f680;
        FUN_00106b00();
      }
      uVar5 = uVar1 & 0xfffff50f;
      if (*(char *)(iVar8 + 0x318d) != '\0') {
        uVar5 = uVar1 & 0xfffff58f;
      }
      puVar2 = (undefined4 *)piVar13[6];
      *ppiVar15 = *ppiVar15;
      ppiVar15[-2] = (int *)local_34;
      ppiVar15[-3] = (int *)0x1;
      ppiVar15[-4] = (int *)*puVar2;
      ppiVar15[-5] = ppiVar15[0x17] + 2;
      ppiVar15[-6] = (int *)0x11f0ee;
      uVar7 = FUN_001e3f80();
      ppiVar15[-2] = (int *)0x0;
      ppiVar15[-3] = (int *)0x0;
      ppiVar15[-4] = (int *)0x0;
      ppiVar15[-5] = (int *)(uVar5 | uVar4 | uVar9 << 0x18);
      ppiVar15[-6] = ppiVar15[0x1c];
      ppiVar15[-7] = ppiVar15[9];
      ppiVar15[-8] = (int *)uVar7;
      ppiVar15[-9] = ppiVar15[0x17];
      ppiVar15[-10] = (int *)0x11f10c;
      iVar8 = FUN_00110850();
      apiStack_60[1] = *ppiVar15;
      ppiVar16 = ppiVar15 + -1;
      if (-1 < (char)*(byte *)(iVar8 + 0x92)) {
        *(byte *)(iVar8 + 0x92) = *(byte *)(iVar8 + 0x92) | 0x80;
        iVar12 = piVar13[6];
        uVar7 = *(undefined4 *)(iVar12 + 8);
        *(undefined4 *)(iVar8 + 0x9c) = *(undefined4 *)(iVar12 + 4);
        uVar3 = *(undefined4 *)(iVar12 + 0xc);
        *(undefined4 *)(iVar8 + 0xa0) = uVar7;
        uVar7 = *(undefined4 *)(iVar12 + 0x10);
        *(undefined4 *)(iVar8 + 0xa4) = uVar3;
        *(undefined4 *)(iVar8 + 0xa8) = uVar7;
        ppiVar16 = ppiVar15 + -1;
      }
    }
  }
  else {
    uVar1 = *(uint *)(*param_5 + 8);
    uVar4 = (uVar1 & 0xff0000) >> 8;
    if ((uVar4 & 0x200) == 0) goto LAB_0011f049;
    apiStack_60[0] = (int *)0x0;
    apiStack_60[2] = &DAT_004144e8;
    uVar7 = FUN_001e3f80(param_1 + 8,param_4,1);
    iVar8 = FUN_0010c350(param_1,uVar7,param_6,
                         uVar1 >> 0x18 | uVar4 & 0xfffff7ff | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,
                         0,0,0);
    ppiVar16 = apiStack_60 + 1;
    apiStack_60[1] = apiStack_60[2];
  }
LAB_0011f150:
  piVar13 = (int *)ppiVar16[0x18][1];
  piVar14 = *(int **)(*apiStack_60[1] + 8);
  ppiVar16[1] = piVar13;
  bVar11 = *(byte *)(piVar13 + 0x2b);
  uVar9 = (uint)bVar11;
  if (bVar11 != 0) {
    if (piVar14 == (int *)0x0) goto LAB_0011f5b8;
    goto LAB_0011f282;
  }
  if (piVar14 == (int *)0x0) {
LAB_0011f5b8:
    ppiVar16[0xffffffff] = (int *)uVar9;
    ppiVar16[0xfffffffe] = (int *)"options";
    ppiVar16[0xfffffffd] = (int *)0x5c;
    ppiVar16[0xfffffffc] = (int *)"../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
    ppiVar16[0xfffffffb] = (int *)0x11f5ce;
    FUN_000da200();
  }
  bVar22 = false;
  bVar25 = *(char *)((int)piVar14 + 0x318d) == '\0';
  if (!bVar25) goto LAB_0011f4a0;
  iVar12 = 7;
  pbVar18 = (byte *)".ctors.";
  pbVar20 = (byte *)ppiVar16[0x1b];
  do {
    if (iVar12 == 0) break;
    iVar12 = iVar12 + -1;
    bVar22 = *pbVar18 < *pbVar20;
    bVar25 = *pbVar18 == *pbVar20;
    pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
    pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
  } while (bVar25);
  bVar23 = false;
  bVar22 = (!bVar22 && !bVar25) == bVar22;
  if (bVar22) {
LAB_0011f238:
    *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;
    bVar11 = *(byte *)(ppiVar16[1] + 0x2b);
    uVar9 = (uint)bVar11;
    if (*(char *)((int)piVar14 + 0x3ced) == '\0') {
LAB_0011f5e9:
      if (bVar11 != 0) goto LAB_0011f282;
      goto LAB_0011f4ad;
    }
    if (bVar11 != 0) goto LAB_0011f282;
LAB_0011f25d:
    cVar6 = *(char *)((int)piVar14 + 0x318d);
    if (*(char *)((int)ppiVar16[0x18] + 0x1cd) != '\0') goto LAB_0011f4b4;
    if (cVar6 == '\0') {
      ppiVar16[3] = piVar14;
      ppuVar19 = &PTR_s__text_unlikely_00407080;
      ppiVar16[2] = (int *)&PTR_s_aranges_00407090;
      pcVar21 = ".text.unlikely";
      sVar10 = 0xe;
      while( true ) {
        ppiVar16[0xfffffffe] = (int *)sVar10;
        ppiVar16[0xfffffffd] = ppiVar16[0x1b];
        ppiVar16[0xfffffffc] = (int *)pcVar21;
        ppiVar16[0xfffffffb] = (int *)0x11f62d;
        iVar12 = strncmp((char *)ppiVar16[0xfffffffc],(char *)ppiVar16[0xfffffffd],
                         (size_t)ppiVar16[0xfffffffe]);
        if (iVar12 == 0) break;
        ppuVar19 = ppuVar19 + 1;
        if ((undefined **)ppiVar16[2] == ppuVar19) goto LAB_0011f4bc;
        pcVar21 = *ppuVar19;
        ppiVar16[0xfffffffc] = (int *)pcVar21;
        ppiVar16[0xfffffffb] = (int *)0x11f64c;
        sVar10 = strlen((char *)ppiVar16[0xfffffffc]);
      }
      piVar14 = ppiVar16[3];
      *(byte *)(iVar8 + 0x91) = *(byte *)(iVar8 + 0x91) | 8;
      bVar11 = *(byte *)(ppiVar16[1] + 0x2b);
      uVar9 = (uint)bVar11;
      goto LAB_0011f5e9;
    }
  }
  else {
    iVar12 = 7;
    pbVar18 = (byte *)".dtors.";
    pbVar20 = (byte *)ppiVar16[0x1b];
    do {
      if (iVar12 == 0) break;
      iVar12 = iVar12 + -1;
      bVar23 = *pbVar18 < *pbVar20;
      bVar22 = *pbVar18 == *pbVar20;
      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
    } while (bVar22);
    bVar25 = false;
    bVar22 = (!bVar23 && !bVar22) == bVar23;
    if (bVar22) goto LAB_0011f238;
    iVar12 = 0xc;
    pbVar18 = (byte *)".init_array.";
    pbVar20 = (byte *)ppiVar16[0x1b];
    do {
      if (iVar12 == 0) break;
      iVar12 = iVar12 + -1;
      bVar25 = *pbVar18 < *pbVar20;
      bVar22 = *pbVar18 == *pbVar20;
      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
    } while (bVar22);
    bVar23 = false;
    bVar22 = (!bVar25 && !bVar22) == bVar25;
    if (bVar22) goto LAB_0011f238;
    iVar12 = 0xc;
    pbVar18 = (byte *)".fini_array.";
    pbVar20 = (byte *)ppiVar16[0x1b];
    do {
      if (iVar12 == 0) break;
      iVar12 = iVar12 + -1;
      bVar23 = *pbVar18 < *pbVar20;
      bVar22 = *pbVar18 == *pbVar20;
      pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
      pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
    } while (bVar22);
    if ((!bVar23 && !bVar22) == bVar23) goto LAB_0011f238;
    bVar22 = false;
    bVar25 = *(char *)((int)piVar14 + 0xad5) == '\0';
    if (!bVar25) {
      iVar12 = 7;
      pbVar18 = (byte *)ppiVar16[0x1b];
      pbVar20 = (byte *)".ctors";
      do {
        if (iVar12 == 0) break;
        iVar12 = iVar12 + -1;
        bVar22 = *pbVar18 < *pbVar20;
        bVar25 = *pbVar18 == *pbVar20;
        pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
      } while (bVar25);
      bVar23 = false;
      bVar22 = (!bVar22 && !bVar25) == bVar22;
      if (!bVar22) {
        iVar12 = 7;
        pbVar18 = (byte *)ppiVar16[0x1b];
        pbVar20 = (byte *)".dtors";
        do {
          if (iVar12 == 0) break;
          iVar12 = iVar12 + -1;
          bVar23 = *pbVar18 < *pbVar20;
          bVar22 = *pbVar18 == *pbVar20;
          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
        } while (bVar22);
        if ((!bVar23 && !bVar22) != bVar23) goto LAB_0011f4a0;
      }
      goto LAB_0011f238;
    }
LAB_0011f4a0:
    if (*(char *)((int)piVar14 + 0x3ced) != '\0') goto LAB_0011f25d;
LAB_0011f4ad:
    cVar6 = *(char *)((int)piVar14 + 0x318d);
LAB_0011f4b4:
    if (cVar6 == '\0') {
LAB_0011f4bc:
      uVar9 = *(uint *)(*ppiVar16[0x1c] + 0x14);
      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;
      bVar22 = uVar9 < 4;
      bVar25 = uVar9 == 4;
      if (4 < uVar9) {
        iVar12 = 7;
        pbVar18 = (byte *)ppiVar16[0x1b];
        pbVar20 = (byte *)".ctors";
        do {
          if (iVar12 == 0) break;
          iVar12 = iVar12 + -1;
          bVar22 = *pbVar18 < *pbVar20;
          bVar25 = *pbVar18 == *pbVar20;
          pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
        } while (bVar25);
        bVar23 = false;
        bVar22 = (!bVar22 && !bVar25) == bVar22;
        if (bVar22) {
LAB_0011f504:
          bVar25 = false;
          iVar12 = 0xc;
          pbVar18 = *(byte **)(iVar8 + 0x20);
          pbVar20 = (byte *)".init_array";
          do {
            if (iVar12 == 0) break;
            iVar12 = iVar12 + -1;
            bVar25 = *pbVar18 < *pbVar20;
            bVar22 = *pbVar18 == *pbVar20;
            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
          } while (bVar22);
          bVar22 = (!bVar25 && !bVar22) == bVar25;
          if (!bVar22) goto LAB_0011f570;
        }
        else {
          iVar12 = 7;
          pbVar18 = (byte *)".ctors.";
          pbVar20 = (byte *)ppiVar16[0x1b];
          do {
            if (iVar12 == 0) break;
            iVar12 = iVar12 + -1;
            bVar23 = *pbVar18 < *pbVar20;
            bVar22 = *pbVar18 == *pbVar20;
            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
          } while (bVar22);
          bVar22 = (!bVar23 && !bVar22) == bVar23;
          if (bVar22) goto LAB_0011f504;
LAB_0011f570:
          bVar25 = false;
          iVar12 = 7;
          pbVar18 = (byte *)ppiVar16[0x1b];
          pbVar20 = (byte *)".dtors";
          do {
            if (iVar12 == 0) break;
            iVar12 = iVar12 + -1;
            bVar25 = *pbVar18 < *pbVar20;
            bVar22 = *pbVar18 == *pbVar20;
            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
          } while (bVar22);
          bVar23 = false;
          bVar22 = (!bVar25 && !bVar22) == bVar25;
          if (!bVar22) {
            iVar12 = 7;
            pbVar18 = (byte *)".dtors.";
            pbVar20 = (byte *)ppiVar16[0x1b];
            do {
              if (iVar12 == 0) break;
              iVar12 = iVar12 + -1;
              bVar23 = *pbVar18 < *pbVar20;
              bVar22 = *pbVar18 == *pbVar20;
              pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
            } while (bVar22);
            bVar22 = (!bVar23 && !bVar22) == bVar23;
            if (!bVar22) goto LAB_0011f280;
          }
          bVar25 = false;
          iVar12 = 0xc;
          pbVar18 = *(byte **)(iVar8 + 0x20);
          pbVar20 = (byte *)".fini_array";
          do {
            if (iVar12 == 0) break;
            iVar12 = iVar12 + -1;
            bVar25 = *pbVar18 < *pbVar20;
            bVar22 = *pbVar18 == *pbVar20;
            pbVar18 = pbVar18 + (uint)bVar27 * -2 + 1;
            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
          } while (bVar22);
          if ((!bVar25 && !bVar22) != bVar25) goto LAB_0011f280;
        }
        ppiVar16[10] = ppiVar16[0x19];
        ppiVar16[0xb] = ppiVar16[0x1a];
        ppiVar16[9] = &DAT_00414774;
        ppiVar16[0xfffffffd] = (int *)0x1;
        ppiVar16[0xfffffffc] = (int *)0x0;
        ppiVar16[0xfffffffb] = (int *)(ppiVar16 + 9);
        ppiVar16[0xfffffffa] = (int *)(ppiVar16 + 10);
        ppiVar16[0xfffffff9] = &DAT_00414774;
        ppiVar16[0xfffffff8] = (int *)(ppiVar16 + 4);
        ppiVar16[0xfffffff7] = (int *)0x11f553;
        FUN_000a8d90();
        ppiVar15 = ppiVar16 + 0x17;
        ppiVar16 = ppiVar16 + 0xffffffff;
        uVar9 = (uint)*(byte *)((*ppiVar15)[1] + 0xac);
        goto LAB_0011f282;
      }
    }
  }
LAB_0011f280:
  uVar9 = 0;
LAB_0011f282:
  uVar1 = *(uint *)(iVar8 + 0x54);
  *(uint *)((int)ppiVar16 + -4) = uVar9;
  *(undefined4 *)((int)ppiVar16 + -8) = *(undefined4 *)((int)ppiVar16 + 0x78);
  *(undefined4 *)((int)ppiVar16 + -0xc) = *(undefined4 *)((int)ppiVar16 + 0x70);
  *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x6c);
  *(undefined4 *)((int)ppiVar16 + -0x14) = *(undefined4 *)((int)ppiVar16 + 0x68);
  *(undefined4 *)((int)ppiVar16 + -0x18) = *(undefined4 *)((int)ppiVar16 + 100);
  *(undefined4 *)((int)ppiVar16 + -0x1c) = *(undefined4 *)((int)ppiVar16 + 0x60);
  *(int *)((int)ppiVar16 + -0x20) = iVar8;
  *(undefined4 *)((int)ppiVar16 + -0x24) = 0x11f2a4;
  uVar28 = FUN_00191bd0();
  **(undefined8 **)((int)ppiVar16 + 0x80) = uVar28;
  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar8 + 0x54)) & 5) != 0)) {
    *(undefined4 *)((int)ppiVar16 + -8) = 0;
    *(int *)((int)ppiVar16 + -0xc) = iVar8;
    *(undefined4 *)((int)ppiVar16 + -0x10) = *(undefined4 *)((int)ppiVar16 + 0x60);
    *(undefined4 *)((int)ppiVar16 + -0x14) = 0x11f2d2;
    uVar7 = FUN_00107cf0();
    *(undefined4 *)(iVar8 + 0x5c) = uVar7;
  }
  *(undefined1 *)(*(int *)((int)ppiVar16 + 0x60) + 0x1c4) = 1;
  return iVar8;
}

