
/* 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, false>
   DWARF original prototype: Output_section * layout<32,_false>(Layout * this,
   Sized_relobj_file<32,_false> * object, uint shndx, char * name, Shdr<32,_false> * shdr, uint
   sh_type, uint reloc_shndx, uint param_9, off_t * off) */

Output_section * __thiscall
gold::Layout::layout<32,_false>
          (Layout *this,Sized_relobj_file<32,_false> *object,uint shndx,char *name,
          Shdr<32,_false> *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_0011e910(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;
  char cVar4;
  undefined4 uVar5;
  int iVar6;
  size_t sVar7;
  byte bVar8;
  int iVar9;
  int *piVar10;
  int *piVar11;
  int **ppiVar12;
  int **ppiVar13;
  int **ppiVar14;
  byte *pbVar15;
  undefined **ppuVar16;
  uint uVar17;
  byte *pbVar18;
  char *pcVar19;
  bool bVar20;
  bool bVar21;
  undefined1 uVar22;
  bool bVar23;
  undefined1 uVar24;
  byte bVar25;
  undefined8 uVar26;
  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;
  
  bVar25 = 0;
  uStack_14 = 0x11e919;
  *param_9 = 0;
  param_9[1] = 0;
  apiStack_60[0] = param_5;
  cVar4 = FUN_00117830(param_1,param_2,param_4);
  ppiVar13 = apiStack_60 + 1;
  ppiVar12 = apiStack_60 + 1;
  if (cVar4 == '\0') {
    return 0;
  }
  uVar17 = *(uint *)(DAT_004144e8 + 8);
  if (uVar17 == 0) goto LAB_0011ef08;
  if ((*(char *)(uVar17 + 0x318d) == '\0') ||
     (uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0)) {
    piVar10 = &DAT_004144e8;
    if (*(char *)(uVar17 + 0x5871) != '\0') {
      uVar22 = apiStack_60 + 1 < (int **)0x4;
      uVar24 = &stack0x00000000 == (undefined1 *)0x60;
      apiStack_60[2] = &DAT_004144e8;
      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);
      iVar6 = 0xe;
      apiStack_60[2] = (int *)0x2fd3ca;
      pbVar15 = (byte *)".text.unlikely";
      pbVar18 = (byte *)local_40[2];
      do {
        if (iVar6 == 0) break;
        iVar6 = iVar6 + -1;
        uVar22 = *pbVar15 < *pbVar18;
        uVar24 = *pbVar15 == *pbVar18;
        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
      } while ((bool)uVar24);
      ppiVar12 = apiStack_60;
      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {
        if ((byte *)local_40[2] != local_30) {
          FUN_00248220(local_40[2]);
        }
        ppiVar14 = apiStack_60;
        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;
        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;
        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {
          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;
        }
        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);
        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);
        ppiVar13 = apiStack_60;
        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;
        goto LAB_0011ea90;
      }
      piVar10 = apiStack_60[1];
      if ((byte *)local_40[2] != local_30) {
        FUN_00248220(local_40[2]);
        ppiVar12 = apiStack_60;
        piVar10 = apiStack_60[1];
      }
    }
    ppiVar12[1] = piVar10;
    ppiVar12[10] = ppiVar12[0x19];
    ppiVar12[0xb] = ppiVar12[0x1a];
    ppiVar12[-2] = (int *)local_34;
    ppiVar12[-3] = ppiVar12[0x18] + 0x81;
    ppiVar12[-4] = (int *)(ppiVar12 + 7);
    ppiVar12[-5] = (int *)0x11e9c5;
    FUN_001196a0();
    piVar10 = ppiVar12[6];
    ppiVar14 = ppiVar12 + -1;
    if (piVar10 == ppiVar12[0x17] + 0x82) {
      ppiVar12[-3] = (int *)0x1;
      ppiVar12[-4] = (int *)0x0;
      ppiVar12[-5] = (int *)0x0;
      ppiVar12[-6] = (int *)0x0;
      ppiVar12[-7] = (int *)0x1;
      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);
      ppiVar12[-8] = (int *)0x0;
      ppiVar12[-9] = (int *)uVar5;
      ppiVar12[-10] = ppiVar12[0x1c];
      ppiVar12[-0xb] = ppiVar12[0x1a];
      ppiVar12[-0xc] = ppiVar12[0x18];
      ppiVar12[-0xd] = ppiVar12[0x17];
      ppiVar12[-0xe] = (int *)0x11ed4e;
      iVar6 = FUN_00110ae0();
      ppiVar13 = ppiVar12 + -1;
      apiStack_60[1] = *ppiVar12;
      if (iVar6 == 0) {
        return 0;
      }
    }
    else {
      iVar6 = *(int *)(**ppiVar12 + 8);
      if (iVar6 == 0) {
LAB_0011efcb:
                    /* WARNING: Subroutine does not return */
        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;
        FUN_00106b00();
      }
      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;
      if (*(char *)(iVar6 + 0x318d) != '\0') {
        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;
      }
      puVar2 = (undefined4 *)piVar10[6];
      *ppiVar12 = *ppiVar12;
      ppiVar12[-2] = (int *)local_34;
      ppiVar12[-3] = (int *)0x1;
      ppiVar12[-4] = (int *)*puVar2;
      ppiVar12[-5] = ppiVar12[0x17] + 2;
      ppiVar12[-6] = (int *)0x11ea2b;
      uVar5 = FUN_001e3f80();
      ppiVar12[-2] = (int *)0x0;
      ppiVar12[-3] = (int *)0x0;
      ppiVar12[-4] = (int *)0x0;
      ppiVar12[-5] = (int *)uVar17;
      ppiVar12[-6] = ppiVar12[0x1c];
      ppiVar12[-7] = ppiVar12[9];
      ppiVar12[-8] = (int *)uVar5;
      ppiVar12[-9] = ppiVar12[0x17];
      ppiVar12[-10] = (int *)0x11ea49;
      iVar6 = FUN_00110850();
      apiStack_60[1] = *ppiVar12;
      ppiVar13 = ppiVar12 + -1;
      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {
        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;
        iVar9 = piVar10[6];
        uVar5 = *(undefined4 *)(iVar9 + 8);
        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);
        uVar3 = *(undefined4 *)(iVar9 + 0xc);
        *(undefined4 *)(iVar6 + 0xa0) = uVar5;
        uVar5 = *(undefined4 *)(iVar9 + 0x10);
        *(undefined4 *)(iVar6 + 0xa4) = uVar3;
        *(undefined4 *)(iVar6 + 0xa8) = uVar5;
        ppiVar13 = ppiVar12 + -1;
      }
    }
  }
  else {
    apiStack_60[0] = (int *)0x0;
    apiStack_60[2] = &DAT_004144e8;
    uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);
    iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);
    ppiVar13 = apiStack_60 + 1;
    apiStack_60[1] = apiStack_60[2];
  }
LAB_0011ea90:
  piVar10 = (int *)ppiVar13[0x18][1];
  piVar11 = *(int **)(*apiStack_60[1] + 8);
  ppiVar13[1] = piVar10;
  bVar8 = *(byte *)(piVar10 + 0x2b);
  uVar17 = (uint)bVar8;
  if (bVar8 != 0) {
    if (piVar11 == (int *)0x0) goto LAB_0011ef08;
    goto LAB_0011ebc2;
  }
  if (piVar11 == (int *)0x0) {
LAB_0011ef08:
    ppiVar13[0xffffffff] = (int *)uVar17;
    ppiVar13[0xfffffffe] = (int *)"options";
    ppiVar13[0xfffffffd] = (int *)0x5c;
    ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
    ppiVar13[0xfffffffb] = (int *)0x11ef1e;
    FUN_000da200();
  }
  bVar20 = false;
  bVar23 = *(char *)((int)piVar11 + 0x318d) == '\0';
  if (!bVar23) goto LAB_0011edf0;
  iVar9 = 7;
  pbVar15 = (byte *)".ctors.";
  pbVar18 = (byte *)ppiVar13[0x1b];
  do {
    if (iVar9 == 0) break;
    iVar9 = iVar9 + -1;
    bVar20 = *pbVar15 < *pbVar18;
    bVar23 = *pbVar15 == *pbVar18;
    pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
    pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
  } while (bVar23);
  bVar21 = false;
  bVar20 = (!bVar20 && !bVar23) == bVar20;
  if (bVar20) {
LAB_0011eb78:
    *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;
    bVar8 = *(byte *)(ppiVar13[1] + 0x2b);
    uVar17 = (uint)bVar8;
    if (*(char *)((int)piVar11 + 0x3ced) == '\0') {
LAB_0011ef39:
      if (bVar8 != 0) goto LAB_0011ebc2;
      goto LAB_0011edfd;
    }
    if (bVar8 != 0) goto LAB_0011ebc2;
LAB_0011eb9d:
    cVar4 = *(char *)((int)piVar11 + 0x318d);
    if (*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0') goto LAB_0011ee04;
    if (cVar4 == '\0') {
      ppiVar13[3] = piVar11;
      ppuVar16 = &PTR_s__text_unlikely_00407080;
      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;
      pcVar19 = ".text.unlikely";
      sVar7 = 0xe;
      while( true ) {
        ppiVar13[0xfffffffe] = (int *)sVar7;
        ppiVar13[0xfffffffd] = ppiVar13[0x1b];
        ppiVar13[0xfffffffc] = (int *)pcVar19;
        ppiVar13[0xfffffffb] = (int *)0x11ef7d;
        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],
                        (size_t)ppiVar13[0xfffffffe]);
        if (iVar9 == 0) break;
        ppuVar16 = ppuVar16 + 1;
        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;
        pcVar19 = *ppuVar16;
        ppiVar13[0xfffffffc] = (int *)pcVar19;
        ppiVar13[0xfffffffb] = (int *)0x11ef9c;
        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);
      }
      piVar11 = ppiVar13[3];
      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;
      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);
      uVar17 = (uint)bVar8;
      goto LAB_0011ef39;
    }
  }
  else {
    iVar9 = 7;
    pbVar15 = (byte *)".dtors.";
    pbVar18 = (byte *)ppiVar13[0x1b];
    do {
      if (iVar9 == 0) break;
      iVar9 = iVar9 + -1;
      bVar21 = *pbVar15 < *pbVar18;
      bVar20 = *pbVar15 == *pbVar18;
      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
    } while (bVar20);
    bVar23 = false;
    bVar20 = (!bVar21 && !bVar20) == bVar21;
    if (bVar20) goto LAB_0011eb78;
    iVar9 = 0xc;
    pbVar15 = (byte *)".init_array.";
    pbVar18 = (byte *)ppiVar13[0x1b];
    do {
      if (iVar9 == 0) break;
      iVar9 = iVar9 + -1;
      bVar23 = *pbVar15 < *pbVar18;
      bVar20 = *pbVar15 == *pbVar18;
      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
    } while (bVar20);
    bVar21 = false;
    bVar20 = (!bVar23 && !bVar20) == bVar23;
    if (bVar20) goto LAB_0011eb78;
    iVar9 = 0xc;
    pbVar15 = (byte *)".fini_array.";
    pbVar18 = (byte *)ppiVar13[0x1b];
    do {
      if (iVar9 == 0) break;
      iVar9 = iVar9 + -1;
      bVar21 = *pbVar15 < *pbVar18;
      bVar20 = *pbVar15 == *pbVar18;
      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
    } while (bVar20);
    if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;
    bVar20 = false;
    bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';
    if (!bVar23) {
      iVar9 = 7;
      pbVar15 = (byte *)ppiVar13[0x1b];
      pbVar18 = (byte *)".ctors";
      do {
        if (iVar9 == 0) break;
        iVar9 = iVar9 + -1;
        bVar20 = *pbVar15 < *pbVar18;
        bVar23 = *pbVar15 == *pbVar18;
        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
      } while (bVar23);
      bVar21 = false;
      bVar20 = (!bVar20 && !bVar23) == bVar20;
      if (!bVar20) {
        iVar9 = 7;
        pbVar15 = (byte *)ppiVar13[0x1b];
        pbVar18 = (byte *)".dtors";
        do {
          if (iVar9 == 0) break;
          iVar9 = iVar9 + -1;
          bVar21 = *pbVar15 < *pbVar18;
          bVar20 = *pbVar15 == *pbVar18;
          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
        } while (bVar20);
        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;
      }
      goto LAB_0011eb78;
    }
LAB_0011edf0:
    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;
LAB_0011edfd:
    cVar4 = *(char *)((int)piVar11 + 0x318d);
LAB_0011ee04:
    if (cVar4 == '\0') {
LAB_0011ee0c:
      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);
      bVar20 = uVar17 < 4;
      bVar23 = uVar17 == 4;
      if (4 < uVar17) {
        iVar9 = 7;
        pbVar15 = (byte *)ppiVar13[0x1b];
        pbVar18 = (byte *)".ctors";
        do {
          if (iVar9 == 0) break;
          iVar9 = iVar9 + -1;
          bVar20 = *pbVar15 < *pbVar18;
          bVar23 = *pbVar15 == *pbVar18;
          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
        } while (bVar23);
        bVar21 = false;
        bVar20 = (!bVar20 && !bVar23) == bVar20;
        if (bVar20) {
LAB_0011ee50:
          bVar23 = false;
          iVar9 = 0xc;
          pbVar15 = *(byte **)(iVar6 + 0x20);
          pbVar18 = (byte *)".init_array";
          do {
            if (iVar9 == 0) break;
            iVar9 = iVar9 + -1;
            bVar23 = *pbVar15 < *pbVar18;
            bVar20 = *pbVar15 == *pbVar18;
            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
          } while (bVar20);
          bVar20 = (!bVar23 && !bVar20) == bVar23;
          if (!bVar20) goto LAB_0011eeb8;
        }
        else {
          iVar9 = 7;
          pbVar15 = (byte *)".ctors.";
          pbVar18 = (byte *)ppiVar13[0x1b];
          do {
            if (iVar9 == 0) break;
            iVar9 = iVar9 + -1;
            bVar21 = *pbVar15 < *pbVar18;
            bVar20 = *pbVar15 == *pbVar18;
            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
          } while (bVar20);
          bVar20 = (!bVar21 && !bVar20) == bVar21;
          if (bVar20) goto LAB_0011ee50;
LAB_0011eeb8:
          bVar23 = false;
          iVar9 = 7;
          pbVar15 = (byte *)ppiVar13[0x1b];
          pbVar18 = (byte *)".dtors";
          do {
            if (iVar9 == 0) break;
            iVar9 = iVar9 + -1;
            bVar23 = *pbVar15 < *pbVar18;
            bVar20 = *pbVar15 == *pbVar18;
            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
          } while (bVar20);
          bVar21 = false;
          bVar20 = (!bVar23 && !bVar20) == bVar23;
          if (!bVar20) {
            iVar9 = 7;
            pbVar15 = (byte *)".dtors.";
            pbVar18 = (byte *)ppiVar13[0x1b];
            do {
              if (iVar9 == 0) break;
              iVar9 = iVar9 + -1;
              bVar21 = *pbVar15 < *pbVar18;
              bVar20 = *pbVar15 == *pbVar18;
              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
            } while (bVar20);
            bVar20 = (!bVar21 && !bVar20) == bVar21;
            if (!bVar20) goto LAB_0011ebc0;
          }
          bVar23 = false;
          iVar9 = 0xc;
          pbVar15 = *(byte **)(iVar6 + 0x20);
          pbVar18 = (byte *)".fini_array";
          do {
            if (iVar9 == 0) break;
            iVar9 = iVar9 + -1;
            bVar23 = *pbVar15 < *pbVar18;
            bVar20 = *pbVar15 == *pbVar18;
            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
          } while (bVar20);
          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;
        }
        ppiVar13[10] = ppiVar13[0x19];
        ppiVar13[0xb] = ppiVar13[0x1a];
        ppiVar13[9] = &DAT_00414774;
        ppiVar13[0xfffffffd] = (int *)0x1;
        ppiVar13[0xfffffffc] = (int *)0x0;
        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);
        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);
        ppiVar13[0xfffffff9] = &DAT_00414774;
        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);
        ppiVar13[0xfffffff7] = (int *)0x11ee9f;
        FUN_000a8d90();
        ppiVar12 = ppiVar13 + 0x17;
        ppiVar13 = ppiVar13 + 0xffffffff;
        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);
        goto LAB_0011ebc2;
      }
    }
  }
LAB_0011ebc0:
  uVar17 = 0;
LAB_0011ebc2:
  uVar1 = *(uint *)(iVar6 + 0x54);
  *(uint *)((int)ppiVar13 + -4) = uVar17;
  *(undefined4 *)((int)ppiVar13 + -8) = *(undefined4 *)((int)ppiVar13 + 0x78);
  *(undefined4 *)((int)ppiVar13 + -0xc) = *(undefined4 *)((int)ppiVar13 + 0x70);
  *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x6c);
  *(undefined4 *)((int)ppiVar13 + -0x14) = *(undefined4 *)((int)ppiVar13 + 0x68);
  *(undefined4 *)((int)ppiVar13 + -0x18) = *(undefined4 *)((int)ppiVar13 + 100);
  *(undefined4 *)((int)ppiVar13 + -0x1c) = *(undefined4 *)((int)ppiVar13 + 0x60);
  *(int *)((int)ppiVar13 + -0x20) = iVar6;
  *(undefined4 *)((int)ppiVar13 + -0x24) = 0x11ebe4;
  uVar26 = FUN_00191220();
  **(undefined8 **)((int)ppiVar13 + 0x80) = uVar26;
  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5) != 0)) {
    *(undefined4 *)((int)ppiVar13 + -8) = 0;
    *(int *)((int)ppiVar13 + -0xc) = iVar6;
    *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60);
    *(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12;
    uVar5 = FUN_00107cf0();
    *(undefined4 *)(iVar6 + 0x5c) = uVar5;
  }
  *(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4) = 1;
  return iVar6;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x0003a210
ADD EBX,0x2f56e7
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 0x00117830
ADD ESP,0x10
TEST AL,AL
JZ 0x0011ed5f
LEA EDX,[EBX + 0x4e8]
MOV EAX,dword ptr [EDX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0011ef08
CMP byte ptr [EAX + 0x318d],0x0
JZ 0x0011e987
MOV EDI,dword ptr [ESP + 0x70]
MOV ECX,dword ptr [EDI]
MOV ESI,dword ptr [ECX + 0x8]
TEST ESI,0x200
JNZ 0x0011ed98
CMP byte ptr [EAX + 0x5871],0x0
LEA EBP,[ESP + 0x28]
JNZ 0x0011ec30
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
JZ 0x0011ed10
MOV EAX,dword ptr [ESP + 0x70]
MOV EAX,dword ptr [EAX]
MOV ECX,dword ptr [EAX + 0x8]
MOV EAX,dword ptr [EDX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0011efcb
MOV EDI,ECX
AND EDI,0xfffff50f
CMP byte ptr [EAX + 0x318d],0x0
JZ 0x0011ea10
MOV EDI,ECX
AND EDI,0xfffff58f
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 0x0011ea90
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
LEA ESI,[ESI]
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 0x0011ef00
TEST EDX,EDX
JZ 0x0011ef08
CMP byte ptr [EDX + 0x318d],0x0
JNZ 0x0011edf0
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 0x0011eb78
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 0x0011eb78
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 0x0011eb78
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 0x0011eb78
CMP byte ptr [EDX + 0xad5],0x0
JZ 0x0011edf0
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 0x0011eb78
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 0x0011edf0
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 0x0011ef39
TEST AL,AL
JNZ 0x0011ebc2
MOV EDI,dword ptr [ESP + 0x60]
MOVZX EAX,byte ptr [EDX + 0x318d]
CMP byte ptr [EDI + 0x1cd],0x0
JNZ 0x0011ee04
TEST AL,AL
JZ 0x0011ef50
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 0x00191220
MOV EDI,dword ptr [ESP + 0xa0]
ADD ESP,0x20
MOV dword ptr [EDI],EAX
MOV dword ptr [EDI + 0x4],EDX
TEST ESI,0x2
JZ 0x0011ec18
XOR ESI,dword ptr [EBP + 0x54]
AND ESI,0x5
JZ 0x0011ec18
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 0x0011ed70
CMP EAX,ECX
JZ 0x0011ec91
SUB ESP,0xc
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x4]
MOV EAX,dword ptr [ESP + 0x70]
MOV EAX,dword ptr [EAX]
MOV ECX,dword ptr [EAX + 0x8]
MOV EAX,dword ptr [EDX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0011efcb
MOV ESI,ECX
AND ESI,0xfffff50f
CMP byte ptr [EAX + 0x318d],0x0
JZ 0x0011ecc0
AND ECX,0xfffff58f
MOV ESI,ECX
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 0x0011ea90
SUB ESP,0x4
XOR EDI,EDI
PUSH 0x1
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH 0x1
MOV EAX,dword ptr [ESP + 0x88]
MOV EAX,dword ptr [EAX]
MOV ESI,dword ptr [EAX + 0x8]
PUSH EDI
PUSH ESI
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 0x0011ea90
ADD ESP,0x4c
XOR EBP,EBP
POP EBX
MOV EAX,EBP
POP ESI
POP EDI
POP EBP
RET
CMP EAX,ECX
JZ 0x0011e998
MOV dword ptr [ESP + 0x4],EDX
SUB ESP,0xc
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x4]
JMP 0x0011e998
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 0x0011ea90
CMP byte ptr [EDX + 0x3ced],0x0
JNZ 0x0011eb9d
MOVZX EAX,byte ptr [EDX + 0x318d]
TEST AL,AL
JNZ 0x0011ebc0
MOV EAX,dword ptr [ESP + 0x70]
MOV EAX,dword ptr [EAX]
CMP dword ptr [EAX + 0x14],0x4
JBE 0x0011ebc0
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 0x0011ee50
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 0x0011eeb8
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 0x0011eeb8
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 0x0011ebc2
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 0x0011efa8
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 0x0011ee69
JMP 0x0011ebc0
TEST EDX,EDX
JNZ 0x0011ebc2
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 0x0011edfd
JMP 0x0011ebc2
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 0x0011ef20
ADD ESI,0x4
CMP dword ptr [ESP + 0x8],ESI
JZ 0x0011ee0c
MOV EDI,dword ptr [ESI]
SUB ESP,0xc
PUSH EDI
CALL 0x0002c330
ADD ESP,0x10
JMP 0x0011ef6f
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 0x0011eed6
JMP 0x0011ebc0
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_0011e910(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  char cVar4;\n  undefined4 uVar5;\n  int iVar6;\n  size_t sVar7;\n  byte bVar8;\n  int iVar9;\n  int *piVar10;\n  int *piVar11;\n  int **ppiVar12;\n  int **ppiVar13;\n  int **ppiVar14;\n  byte *pbVar15;\n  undefined **ppuVar16;\n  uint uVar17;\n  byte *pbVar18;\n  char *pcVar19;\n  bool bVar20;\n  bool bVar21;\n  undefined1 uVar22;\n  bool bVar23;\n  undefined1 uVar24;\n  byte bVar25;\n  undefined8 uVar26;\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  bVar25 = 0;\n  uStack_14 = 0x11e919;\n  *param_9 = 0;\n  param_9[1] = 0;\n  apiStack_60[0] = param_5;\n  cVar4 = FUN_00117830(param_1,param_2,param_4);\n  ppiVar13 = apiStack_60 + 1;\n  ppiVar12 = apiStack_60 + 1;\n  if (cVar4 == '\0') {\n    return 0;\n  }\n  uVar17 = *(uint *)(DAT_004144e8 + 8);\n  if (uVar17 == 0) goto LAB_0011ef08;\n  if ((*(char *)(uVar17 + 0x318d) == '\0') ||\n     (uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0)) {\n    piVar10 = &DAT_004144e8;\n    if (*(char *)(uVar17 + 0x5871) != '\0') {\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }\n    ppiVar12[1] = piVar10;\n    ppiVar12[10] = ppiVar12[0x19];\n    ppiVar12[0xb] = ppiVar12[0x1a];\n    ppiVar12[-2] = (int *)local_34;\n    ppiVar12[-3] = ppiVar12[0x18] + 0x81;\n    ppiVar12[-4] = (int *)(ppiVar12 + 7);\n    ppiVar12[-5] = (int *)0x11e9c5;\n    FUN_001196a0();\n    piVar10 = ppiVar12[6];\n    ppiVar14 = ppiVar12 + -1;\n    if (piVar10 == ppiVar12[0x17] + 0x82) {\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }\n  }\n  else {\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);\n    ppiVar13 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }\nLAB_0011ea90:\n  piVar10 = (int *)ppiVar13[0x18][1];\n  piVar11 = *(int **)(*apiStack_60[1] + 8);\n  ppiVar13[1] = piVar10;\n  bVar8 = *(byte *)(piVar10 + 0x2b);\n  uVar17 = (uint)bVar8;\n  if (bVar8 != 0) {\n    if (piVar11 == (int *)0x0) goto LAB_0011ef08;\n    goto LAB_0011ebc2;\n  }\n  if (piVar11 == (int *)0x0) {\nLAB_0011ef08:\n    ppiVar13[0xffffffff] = (int *)uVar17;\n    ppiVar13[0xfffffffe] = (int *)"options";\n    ppiVar13[0xfffffffd] = (int *)0x5c;\n    ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n    ppiVar13[0xfffffffb] = (int *)0x11ef1e;\n    FUN_000da200();\n  }\n  bVar20 = false;\n  bVar23 = *(char *)((int)piVar11 + 0x318d) == '\0';\n  if (!bVar23) goto LAB_0011edf0;\n  iVar9 = 7;\n  pbVar15 = (byte *)".ctors.";\n  pbVar18 = (byte *)ppiVar13[0x1b];\n  do {\n    if (iVar9 == 0) break;\n    iVar9 = iVar9 + -1;\n    bVar20 = *pbVar15 < *pbVar18;\n    bVar23 = *pbVar15 == *pbVar18;\n    pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n    pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n  } while (bVar23);\n  bVar21 = false;\n  bVar20 = (!bVar20 && !bVar23) == bVar20;\n  if (bVar20) {\nLAB_0011eb78:\n    *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n    bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n    uVar17 = (uint)bVar8;\n    if (*(char *)((int)piVar11 + 0x3ced) == '\0') {\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }\n    if (bVar8 != 0) goto LAB_0011ebc2;\nLAB_0011eb9d:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\n    if (*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0') goto LAB_0011ee04;\n    if (cVar4 == '\0') {\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }\n  }\n  else {\n    iVar9 = 7;\n    pbVar15 = (byte *)".dtors.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar23 = false;\n    bVar20 = (!bVar21 && !bVar20) == bVar21;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".init_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar21 = false;\n    bVar20 = (!bVar23 && !bVar20) == bVar23;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".fini_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;\n    bVar20 = false;\n    bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';\n    if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }\nLAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;\nLAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\nLAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }\n  }\nLAB_0011ebc0:\n  uVar17 = 0;\nLAB_0011ebc2:\n  uVar1 = *(uint *)(iVar6 + 0x54);\n  *(uint *)((int)ppiVar13 + -4) = uVar17;\n  *(undefined4 *)((int)ppiVar13 + -8) = *(undefined4 *)((int)ppiVar13 + 0x78);\n  *(undefined4 *)((int)ppiVar13 + -0xc) = *(undefined4 *)((int)ppiVar13 + 0x70);\n  *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x6c);\n  *(undefined4 *)((int)ppiVar13 + -0x14) = *(undefined4 *)((int)ppiVar13 + 0x68);\n  *(undefined4 *)((int)ppiVar13 + -0x18) = *(undefined4 *)((int)ppiVar13 + 100);\n  *(undefined4 *)((int)ppiVar13 + -0x1c) = *(undefined4 *)((int)ppiVar13 + 0x60);\n  *(int *)((int)ppiVar13 + -0x20) = iVar6;\n  *(undefined4 *)((int)ppiVar13 + -0x24) = 0x11ebe4;\n  uVar26 = FUN_00191220();\n  **(undefined8 **)((int)ppiVar13 + 0x80) = uVar26;\n  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar13 + -8) = 0;\n    *(int *)((int)ppiVar13 + -0xc) = iVar6;\n    *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60);\n    *(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12;\n    uVar5 = FUN_00107cf0();\n    *(undefined4 *)(iVar6 + 0x5c) = uVar5;\n  }\n  *(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4) = 1;\n  return iVar6;\n}\n\n" comment comment (function_definition "int FUN_0011e910(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  char cVar4;\n  undefined4 uVar5;\n  int iVar6;\n  size_t sVar7;\n  byte bVar8;\n  int iVar9;\n  int *piVar10;\n  int *piVar11;\n  int **ppiVar12;\n  int **ppiVar13;\n  int **ppiVar14;\n  byte *pbVar15;\n  undefined **ppuVar16;\n  uint uVar17;\n  byte *pbVar18;\n  char *pcVar19;\n  bool bVar20;\n  bool bVar21;\n  undefined1 uVar22;\n  bool bVar23;\n  undefined1 uVar24;\n  byte bVar25;\n  undefined8 uVar26;\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  bVar25 = 0;\n  uStack_14 = 0x11e919;\n  *param_9 = 0;\n  param_9[1] = 0;\n  apiStack_60[0] = param_5;\n  cVar4 = FUN_00117830(param_1,param_2,param_4);\n  ppiVar13 = apiStack_60 + 1;\n  ppiVar12 = apiStack_60 + 1;\n  if (cVar4 == '\0') {\n    return 0;\n  }\n  uVar17 = *(uint *)(DAT_004144e8 + 8);\n  if (uVar17 == 0) goto LAB_0011ef08;\n  if ((*(char *)(uVar17 + 0x318d) == '\0') ||\n     (uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0)) {\n    piVar10 = &DAT_004144e8;\n    if (*(char *)(uVar17 + 0x5871) != '\0') {\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }\n    ppiVar12[1] = piVar10;\n    ppiVar12[10] = ppiVar12[0x19];\n    ppiVar12[0xb] = ppiVar12[0x1a];\n    ppiVar12[-2] = (int *)local_34;\n    ppiVar12[-3] = ppiVar12[0x18] + 0x81;\n    ppiVar12[-4] = (int *)(ppiVar12 + 7);\n    ppiVar12[-5] = (int *)0x11e9c5;\n    FUN_001196a0();\n    piVar10 = ppiVar12[6];\n    ppiVar14 = ppiVar12 + -1;\n    if (piVar10 == ppiVar12[0x17] + 0x82) {\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }\n  }\n  else {\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);\n    ppiVar13 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }\nLAB_0011ea90:\n  piVar10 = (int *)ppiVar13[0x18][1];\n  piVar11 = *(int **)(*apiStack_60[1] + 8);\n  ppiVar13[1] = piVar10;\n  bVar8 = *(byte *)(piVar10 + 0x2b);\n  uVar17 = (uint)bVar8;\n  if (bVar8 != 0) {\n    if (piVar11 == (int *)0x0) goto LAB_0011ef08;\n    goto LAB_0011ebc2;\n  }\n  if (piVar11 == (int *)0x0) {\nLAB_0011ef08:\n    ppiVar13[0xffffffff] = (int *)uVar17;\n    ppiVar13[0xfffffffe] = (int *)"options";\n    ppiVar13[0xfffffffd] = (int *)0x5c;\n    ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n    ppiVar13[0xfffffffb] = (int *)0x11ef1e;\n    FUN_000da200();\n  }\n  bVar20 = false;\n  bVar23 = *(char *)((int)piVar11 + 0x318d) == '\0';\n  if (!bVar23) goto LAB_0011edf0;\n  iVar9 = 7;\n  pbVar15 = (byte *)".ctors.";\n  pbVar18 = (byte *)ppiVar13[0x1b];\n  do {\n    if (iVar9 == 0) break;\n    iVar9 = iVar9 + -1;\n    bVar20 = *pbVar15 < *pbVar18;\n    bVar23 = *pbVar15 == *pbVar18;\n    pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n    pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n  } while (bVar23);\n  bVar21 = false;\n  bVar20 = (!bVar20 && !bVar23) == bVar20;\n  if (bVar20) {\nLAB_0011eb78:\n    *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n    bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n    uVar17 = (uint)bVar8;\n    if (*(char *)((int)piVar11 + 0x3ced) == '\0') {\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }\n    if (bVar8 != 0) goto LAB_0011ebc2;\nLAB_0011eb9d:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\n    if (*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0') goto LAB_0011ee04;\n    if (cVar4 == '\0') {\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }\n  }\n  else {\n    iVar9 = 7;\n    pbVar15 = (byte *)".dtors.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar23 = false;\n    bVar20 = (!bVar21 && !bVar20) == bVar21;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".init_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar21 = false;\n    bVar20 = (!bVar23 && !bVar20) == bVar23;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".fini_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;\n    bVar20 = false;\n    bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';\n    if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }\nLAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;\nLAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\nLAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }\n  }\nLAB_0011ebc0:\n  uVar17 = 0;\nLAB_0011ebc2:\n  uVar1 = *(uint *)(iVar6 + 0x54);\n  *(uint *)((int)ppiVar13 + -4) = uVar17;\n  *(undefined4 *)((int)ppiVar13 + -8) = *(undefined4 *)((int)ppiVar13 + 0x78);\n  *(undefined4 *)((int)ppiVar13 + -0xc) = *(undefined4 *)((int)ppiVar13 + 0x70);\n  *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x6c);\n  *(undefined4 *)((int)ppiVar13 + -0x14) = *(undefined4 *)((int)ppiVar13 + 0x68);\n  *(undefined4 *)((int)ppiVar13 + -0x18) = *(undefined4 *)((int)ppiVar13 + 100);\n  *(undefined4 *)((int)ppiVar13 + -0x1c) = *(undefined4 *)((int)ppiVar13 + 0x60);\n  *(int *)((int)ppiVar13 + -0x20) = iVar6;\n  *(undefined4 *)((int)ppiVar13 + -0x24) = 0x11ebe4;\n  uVar26 = FUN_00191220();\n  **(undefined8 **)((int)ppiVar13 + 0x80) = uVar26;\n  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar13 + -8) = 0;\n    *(int *)((int)ppiVar13 + -0xc) = iVar6;\n    *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60);\n    *(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12;\n    uVar5 = FUN_00107cf0();\n    *(undefined4 *)(iVar6 + 0x5c) = uVar5;\n  }\n  *(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4) = 1;\n  return iVar6;\n}" primitive_type (function_declarator "FUN_0011e910(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  char cVar4;\n  undefined4 uVar5;\n  int iVar6;\n  size_t sVar7;\n  byte bVar8;\n  int iVar9;\n  int *piVar10;\n  int *piVar11;\n  int **ppiVar12;\n  int **ppiVar13;\n  int **ppiVar14;\n  byte *pbVar15;\n  undefined **ppuVar16;\n  uint uVar17;\n  byte *pbVar18;\n  char *pcVar19;\n  bool bVar20;\n  bool bVar21;\n  undefined1 uVar22;\n  bool bVar23;\n  undefined1 uVar24;\n  byte bVar25;\n  undefined8 uVar26;\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  bVar25 = 0;\n  uStack_14 = 0x11e919;\n  *param_9 = 0;\n  param_9[1] = 0;\n  apiStack_60[0] = param_5;\n  cVar4 = FUN_00117830(param_1,param_2,param_4);\n  ppiVar13 = apiStack_60 + 1;\n  ppiVar12 = apiStack_60 + 1;\n  if (cVar4 == '\0') {\n    return 0;\n  }\n  uVar17 = *(uint *)(DAT_004144e8 + 8);\n  if (uVar17 == 0) goto LAB_0011ef08;\n  if ((*(char *)(uVar17 + 0x318d) == '\0') ||\n     (uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0)) {\n    piVar10 = &DAT_004144e8;\n    if (*(char *)(uVar17 + 0x5871) != '\0') {\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }\n    ppiVar12[1] = piVar10;\n    ppiVar12[10] = ppiVar12[0x19];\n    ppiVar12[0xb] = ppiVar12[0x1a];\n    ppiVar12[-2] = (int *)local_34;\n    ppiVar12[-3] = ppiVar12[0x18] + 0x81;\n    ppiVar12[-4] = (int *)(ppiVar12 + 7);\n    ppiVar12[-5] = (int *)0x11e9c5;\n    FUN_001196a0();\n    piVar10 = ppiVar12[6];\n    ppiVar14 = ppiVar12 + -1;\n    if (piVar10 == ppiVar12[0x17] + 0x82) {\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }\n  }\n  else {\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);\n    ppiVar13 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }\nLAB_0011ea90:\n  piVar10 = (int *)ppiVar13[0x18][1];\n  piVar11 = *(int **)(*apiStack_60[1] + 8);\n  ppiVar13[1] = piVar10;\n  bVar8 = *(byte *)(piVar10 + 0x2b);\n  uVar17 = (uint)bVar8;\n  if (bVar8 != 0) {\n    if (piVar11 == (int *)0x0) goto LAB_0011ef08;\n    goto LAB_0011ebc2;\n  }\n  if (piVar11 == (int *)0x0) {\nLAB_0011ef08:\n    ppiVar13[0xffffffff] = (int *)uVar17;\n    ppiVar13[0xfffffffe] = (int *)"options";\n    ppiVar13[0xfffffffd] = (int *)0x5c;\n    ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n    ppiVar13[0xfffffffb] = (int *)0x11ef1e;\n    FUN_000da200();\n  }\n  bVar20 = false;\n  bVar23 = *(char *)((int)piVar11 + 0x318d) == '\0';\n  if (!bVar23) goto LAB_0011edf0;\n  iVar9 = 7;\n  pbVar15 = (byte *)".ctors.";\n  pbVar18 = (byte *)ppiVar13[0x1b];\n  do {\n    if (iVar9 == 0) break;\n    iVar9 = iVar9 + -1;\n    bVar20 = *pbVar15 < *pbVar18;\n    bVar23 = *pbVar15 == *pbVar18;\n    pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n    pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n  } while (bVar23);\n  bVar21 = false;\n  bVar20 = (!bVar20 && !bVar23) == bVar20;\n  if (bVar20) {\nLAB_0011eb78:\n    *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n    bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n    uVar17 = (uint)bVar8;\n    if (*(char *)((int)piVar11 + 0x3ced) == '\0') {\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }\n    if (bVar8 != 0) goto LAB_0011ebc2;\nLAB_0011eb9d:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\n    if (*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0') goto LAB_0011ee04;\n    if (cVar4 == '\0') {\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }\n  }\n  else {\n    iVar9 = 7;\n    pbVar15 = (byte *)".dtors.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar23 = false;\n    bVar20 = (!bVar21 && !bVar20) == bVar21;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".init_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar21 = false;\n    bVar20 = (!bVar23 && !bVar20) == bVar23;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".fini_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;\n    bVar20 = false;\n    bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';\n    if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }\nLAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;\nLAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\nLAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }\n  }\nLAB_0011ebc0:\n  uVar17 = 0;\nLAB_0011ebc2:\n  uVar1 = *(uint *)(iVar6 + 0x54);\n  *(uint *)((int)ppiVar13 + -4) = uVar17;\n  *(undefined4 *)((int)ppiVar13 + -8) = *(undefined4 *)((int)ppiVar13 + 0x78);\n  *(undefined4 *)((int)ppiVar13 + -0xc) = *(undefined4 *)((int)ppiVar13 + 0x70);\n  *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x6c);\n  *(undefined4 *)((int)ppiVar13 + -0x14) = *(undefined4 *)((int)ppiVar13 + 0x68);\n  *(undefined4 *)((int)ppiVar13 + -0x18) = *(undefined4 *)((int)ppiVar13 + 100);\n  *(undefined4 *)((int)ppiVar13 + -0x1c) = *(undefined4 *)((int)ppiVar13 + 0x60);\n  *(int *)((int)ppiVar13 + -0x20) = iVar6;\n  *(undefined4 *)((int)ppiVar13 + -0x24) = 0x11ebe4;\n  uVar26 = FUN_00191220();\n  **(undefined8 **)((int)ppiVar13 + 0x80) = uVar26;\n  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar13 + -8) = 0;\n    *(int *)((int)ppiVar13 + -0xc) = iVar6;\n    *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60);\n    *(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12;\n    uVar5 = FUN_00107cf0();\n    *(undefined4 *)(iVar6 + 0x5c) = uVar5;\n  }\n  *(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4) = 1;\n  return iVar6;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int **ppiVar12;" primitive_type (pointer_declarator "**ppiVar12" * (pointer_declarator "*ppiVar12" * identifier)) ;) (declaration "int **ppiVar13;" primitive_type (pointer_declarator "**ppiVar13" * (pointer_declarator "*ppiVar13" * identifier)) ;) (declaration "int **ppiVar14;" primitive_type (pointer_declarator "**ppiVar14" * (pointer_declarator "*ppiVar14" * identifier)) ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "undefined **ppuVar16;" type_identifier (pointer_declarator "**ppuVar16" * (pointer_declarator "*ppuVar16" * identifier)) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "bool bVar20;" primitive_type identifier ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "undefined1 uVar22;" type_identifier identifier ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "undefined1 uVar24;" type_identifier identifier ;) (declaration "byte bVar25;" type_identifier identifier ;) (declaration "undefined8 uVar26;" 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 "bVar25 = 0;" (assignment_expression "bVar25 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x11e919;" (assignment_expression "uStack_14 = 0x11e919" 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 "cVar4 = FUN_00117830(param_1,param_2,param_4);" (assignment_expression "cVar4 = FUN_00117830(param_1,param_2,param_4)" identifier = (call_expression "FUN_00117830(param_1,param_2,param_4)" identifier (argument_list "(param_1,param_2,param_4)" ( identifier , identifier , identifier )))) ;) (expression_statement "ppiVar13 = apiStack_60 + 1;" (assignment_expression "ppiVar13 = apiStack_60 + 1" identifier = (binary_expression "apiStack_60 + 1" identifier + number_literal)) ;) (expression_statement "ppiVar12 = apiStack_60 + 1;" (assignment_expression "ppiVar12 = apiStack_60 + 1" identifier = (binary_expression "apiStack_60 + 1" identifier + number_literal)) ;) (if_statement "if (cVar4 == '\0') {\n    return 0;\n  }" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar17 = *(uint *)(DAT_004144e8 + 8);" (assignment_expression "uVar17 = *(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 (uVar17 == 0) goto LAB_0011ef08;" if (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0011ef08;" goto statement_identifier ;)) (if_statement "if ((*(char *)(uVar17 + 0x318d) == '\0') ||\n     (uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0)) {\n    piVar10 = &DAT_004144e8;\n    if (*(char *)(uVar17 + 0x5871) != '\0') {\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }\n    ppiVar12[1] = piVar10;\n    ppiVar12[10] = ppiVar12[0x19];\n    ppiVar12[0xb] = ppiVar12[0x1a];\n    ppiVar12[-2] = (int *)local_34;\n    ppiVar12[-3] = ppiVar12[0x18] + 0x81;\n    ppiVar12[-4] = (int *)(ppiVar12 + 7);\n    ppiVar12[-5] = (int *)0x11e9c5;\n    FUN_001196a0();\n    piVar10 = ppiVar12[6];\n    ppiVar14 = ppiVar12 + -1;\n    if (piVar10 == ppiVar12[0x17] + 0x82) {\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }\n  }\n  else {\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);\n    ppiVar13 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }" if (parenthesized_expression "((*(char *)(uVar17 + 0x318d) == '\0') ||\n     (uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0))" ( (binary_expression "(*(char *)(uVar17 + 0x318d) == '\0') ||\n     (uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0)" (parenthesized_expression "(*(char *)(uVar17 + 0x318d) == '\0')" ( (binary_expression "*(char *)(uVar17 + 0x318d) == '\0'" (pointer_expression "*(char *)(uVar17 + 0x318d)" * (cast_expression "(char *)(uVar17 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar17 + 0x318d)" ( (binary_expression "uVar17 + 0x318d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0)" ( (comma_expression "uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0" (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) ))))) , (binary_expression "(uVar1 & 0x200) == 0" (parenthesized_expression "(uVar1 & 0x200)" ( (binary_expression "uVar1 & 0x200" identifier & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n    piVar10 = &DAT_004144e8;\n    if (*(char *)(uVar17 + 0x5871) != '\0') {\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }\n    ppiVar12[1] = piVar10;\n    ppiVar12[10] = ppiVar12[0x19];\n    ppiVar12[0xb] = ppiVar12[0x1a];\n    ppiVar12[-2] = (int *)local_34;\n    ppiVar12[-3] = ppiVar12[0x18] + 0x81;\n    ppiVar12[-4] = (int *)(ppiVar12 + 7);\n    ppiVar12[-5] = (int *)0x11e9c5;\n    FUN_001196a0();\n    piVar10 = ppiVar12[6];\n    ppiVar14 = ppiVar12 + -1;\n    if (piVar10 == ppiVar12[0x17] + 0x82) {\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }\n  }" { (expression_statement "piVar10 = &DAT_004144e8;" (assignment_expression "piVar10 = &DAT_004144e8" identifier = (pointer_expression "&DAT_004144e8" & identifier)) ;) (if_statement "if (*(char *)(uVar17 + 0x5871) != '\0') {\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }" if (parenthesized_expression "(*(char *)(uVar17 + 0x5871) != '\0')" ( (binary_expression "*(char *)(uVar17 + 0x5871) != '\0'" (pointer_expression "*(char *)(uVar17 + 0x5871)" * (cast_expression "(char *)(uVar17 + 0x5871)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar17 + 0x5871)" ( (binary_expression "uVar17 + 0x5871" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }" { (expression_statement "uVar22 = apiStack_60 + 1 < (int **)0x4;" (assignment_expression "uVar22 = 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 "uVar24 = &stack0x00000000 == (undefined1 *)0x60;" (assignment_expression "uVar24 = &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 "iVar6 = 0xe;" (assignment_expression "iVar6 = 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 "pbVar15 = (byte *)".text.unlikely";" (assignment_expression "pbVar15 = (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 "pbVar18 = (byte *)local_40[2];" (assignment_expression "pbVar18 = (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 (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);" do (compound_statement "{\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      }" { (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "uVar22 = *pbVar15 < *pbVar18;" (assignment_expression "uVar22 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "uVar24 = *pbVar15 == *pbVar18;" (assignment_expression "uVar24 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "((bool)uVar24)" ( (cast_expression "(bool)uVar24" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "ppiVar12 = apiStack_60;" (assignment_expression "ppiVar12 = apiStack_60" identifier = identifier) ;) (if_statement "if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }" if (parenthesized_expression "((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22)" ( (binary_expression "(!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22" (parenthesized_expression "(!(bool)uVar22 && !(bool)uVar24)" ( (binary_expression "!(bool)uVar22 && !(bool)uVar24" (unary_expression "!(bool)uVar22" ! (cast_expression "(bool)uVar22" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar24" ! (cast_expression "(bool)uVar24" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar22" ( (type_descriptor "bool" primitive_type) ) identifier)) )) (compound_statement "{\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\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 "ppiVar14 = apiStack_60;" (assignment_expression "ppiVar14 = apiStack_60" identifier = identifier) ;) (if_statement "if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;" 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_0011efcb;" goto statement_identifier ;)) (expression_statement "uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;" (assignment_expression "uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f" identifier = (binary_expression "*(uint *)(*param_4 + 8) & 0xfffff50f" (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) )))) & number_literal)) ;) (if_statement "if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 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          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }" { (expression_statement "uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;" (assignment_expression "uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f" identifier = (binary_expression "*(uint *)(*param_4 + 8) & 0xfffff58f" (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) )))) & number_literal)) ;) })) (expression_statement "uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);" (assignment_expression "uVar5 = 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 "iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);" (assignment_expression "iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0)" identifier = (call_expression "FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0)" identifier (argument_list "(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0)" ( identifier , identifier , (subscript_expression "local_40[2]" identifier [ number_literal ]) , identifier , identifier , number_literal , number_literal , number_literal )))) ;) (expression_statement "ppiVar13 = apiStack_60;" (assignment_expression "ppiVar13 = apiStack_60" identifier = identifier) ;) (expression_statement "*(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;" (assignment_expression "*(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar6 + 0x92)" * (cast_expression "(byte *)(iVar6 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x92)" ( (binary_expression "iVar6 + 0x92" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar6 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar6 + 0x92)" * (cast_expression "(byte *)(iVar6 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x92)" ( (binary_expression "iVar6 + 0x92" identifier + number_literal) )))) | number_literal)) ;) (goto_statement "goto LAB_0011ea90;" goto statement_identifier ;) })) (expression_statement "piVar10 = apiStack_60[1];" (assignment_expression "piVar10 = 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        ppiVar12 = apiStack_60;\n        piVar10 = 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        ppiVar12 = apiStack_60;\n        piVar10 = 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 "ppiVar12 = apiStack_60;" (assignment_expression "ppiVar12 = apiStack_60" identifier = identifier) ;) (expression_statement "piVar10 = apiStack_60[1];" (assignment_expression "piVar10 = apiStack_60[1]" identifier = (subscript_expression "apiStack_60[1]" identifier [ number_literal ])) ;) })) })) (expression_statement "ppiVar12[1] = piVar10;" (assignment_expression "ppiVar12[1] = piVar10" (subscript_expression "ppiVar12[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppiVar12[10] = ppiVar12[0x19];" (assignment_expression "ppiVar12[10] = ppiVar12[0x19]" (subscript_expression "ppiVar12[10]" identifier [ number_literal ]) = (subscript_expression "ppiVar12[0x19]" identifier [ number_literal ])) ;) (expression_statement "ppiVar12[0xb] = ppiVar12[0x1a];" (assignment_expression "ppiVar12[0xb] = ppiVar12[0x1a]" (subscript_expression "ppiVar12[0xb]" identifier [ number_literal ]) = (subscript_expression "ppiVar12[0x1a]" identifier [ number_literal ])) ;) (expression_statement "ppiVar12[-2] = (int *)local_34;" (assignment_expression "ppiVar12[-2] = (int *)local_34" (subscript_expression "ppiVar12[-2]" identifier [ number_literal ]) = (cast_expression "(int *)local_34" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar12[-3] = ppiVar12[0x18] + 0x81;" (assignment_expression "ppiVar12[-3] = ppiVar12[0x18] + 0x81" (subscript_expression "ppiVar12[-3]" identifier [ number_literal ]) = (binary_expression "ppiVar12[0x18] + 0x81" (subscript_expression "ppiVar12[0x18]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "ppiVar12[-4] = (int *)(ppiVar12 + 7);" (assignment_expression "ppiVar12[-4] = (int *)(ppiVar12 + 7)" (subscript_expression "ppiVar12[-4]" identifier [ number_literal ]) = (cast_expression "(int *)(ppiVar12 + 7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar12 + 7)" ( (binary_expression "ppiVar12 + 7" identifier + number_literal) )))) ;) (expression_statement "ppiVar12[-5] = (int *)0x11e9c5;" (assignment_expression "ppiVar12[-5] = (int *)0x11e9c5" (subscript_expression "ppiVar12[-5]" identifier [ number_literal ]) = (cast_expression "(int *)0x11e9c5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_001196a0();" (call_expression "FUN_001196a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar10 = ppiVar12[6];" (assignment_expression "piVar10 = ppiVar12[6]" identifier = (subscript_expression "ppiVar12[6]" identifier [ number_literal ])) ;) (expression_statement "ppiVar14 = ppiVar12 + -1;" (assignment_expression "ppiVar14 = ppiVar12 + -1" identifier = (binary_expression "ppiVar12 + -1" identifier + number_literal)) ;) (if_statement "if (piVar10 == ppiVar12[0x17] + 0x82) {\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }" if (parenthesized_expression "(piVar10 == ppiVar12[0x17] + 0x82)" ( (binary_expression "piVar10 == ppiVar12[0x17] + 0x82" identifier == (binary_expression "ppiVar12[0x17] + 0x82" (subscript_expression "ppiVar12[0x17]" identifier [ number_literal ]) + number_literal)) )) (compound_statement "{\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }" { (expression_statement "ppiVar12[-3] = (int *)0x1;" (assignment_expression "ppiVar12[-3] = (int *)0x1" (subscript_expression "ppiVar12[-3]" identifier [ number_literal ]) = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12[-4] = (int *)0x0;" (assignment_expression "ppiVar12[-4] = (int *)0x0" (subscript_expression "ppiVar12[-4]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12[-5] = (int *)0x0;" (assignment_expression "ppiVar12[-5] = (int *)0x0" (subscript_expression "ppiVar12[-5]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12[-6] = (int *)0x0;" (assignment_expression "ppiVar12[-6] = (int *)0x0" (subscript_expression "ppiVar12[-6]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12[-7] = (int *)0x1;" (assignment_expression "ppiVar12[-7] = (int *)0x1" (subscript_expression "ppiVar12[-7]" identifier [ number_literal ]) = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);" (assignment_expression "uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8)" identifier = (pointer_expression "*(undefined4 *)(*ppiVar12[0x1b] + 8)" * (cast_expression "(undefined4 *)(*ppiVar12[0x1b] + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppiVar12[0x1b] + 8)" ( (binary_expression "*ppiVar12[0x1b] + 8" (pointer_expression "*ppiVar12[0x1b]" * (subscript_expression "ppiVar12[0x1b]" identifier [ number_literal ])) + number_literal) ))))) ;) (expression_statement "ppiVar12[-8] = (int *)0x0;" (assignment_expression "ppiVar12[-8] = (int *)0x0" (subscript_expression "ppiVar12[-8]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12[-9] = (int *)uVar5;" (assignment_expression "ppiVar12[-9] = (int *)uVar5" (subscript_expression "ppiVar12[-9]" identifier [ number_literal ]) = (cast_expression "(int *)uVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar12[-10] = ppiVar12[0x1c];" (assignment_expression "ppiVar12[-10] = ppiVar12[0x1c]" (subscript_expression "ppiVar12[-10]" identifier [ number_literal ]) = (subscript_expression "ppiVar12[0x1c]" identifier [ number_literal ])) ;) (expression_statement "ppiVar12[-0xb] = ppiVar12[0x1a];" (assignment_expression "ppiVar12[-0xb] = ppiVar12[0x1a]" (subscript_expression "ppiVar12[-0xb]" identifier [ number_literal ]) = (subscript_expression "ppiVar12[0x1a]" identifier [ number_literal ])) ;) (expression_statement "ppiVar12[-0xc] = ppiVar12[0x18];" (assignment_expression "ppiVar12[-0xc] = ppiVar12[0x18]" (subscript_expression "ppiVar12[-0xc]" identifier [ number_literal ]) = (subscript_expression "ppiVar12[0x18]" identifier [ number_literal ])) ;) (expression_statement "ppiVar12[-0xd] = ppiVar12[0x17];" (assignment_expression "ppiVar12[-0xd] = ppiVar12[0x17]" (subscript_expression "ppiVar12[-0xd]" identifier [ number_literal ]) = (subscript_expression "ppiVar12[0x17]" identifier [ number_literal ])) ;) (expression_statement "ppiVar12[-0xe] = (int *)0x11ed4e;" (assignment_expression "ppiVar12[-0xe] = (int *)0x11ed4e" (subscript_expression "ppiVar12[-0xe]" identifier [ number_literal ]) = (cast_expression "(int *)0x11ed4e" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar6 = FUN_00110ae0();" (assignment_expression "iVar6 = FUN_00110ae0()" identifier = (call_expression "FUN_00110ae0()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppiVar13 = ppiVar12 + -1;" (assignment_expression "ppiVar13 = ppiVar12 + -1" identifier = (binary_expression "ppiVar12 + -1" identifier + number_literal)) ;) (expression_statement "apiStack_60[1] = *ppiVar12;" (assignment_expression "apiStack_60[1] = *ppiVar12" (subscript_expression "apiStack_60[1]" identifier [ number_literal ]) = (pointer_expression "*ppiVar12" * identifier)) ;) (if_statement "if (iVar6 == 0) {\n        return 0;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) }) (else_clause "else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }" else (compound_statement "{\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }" { (expression_statement "iVar6 = *(int *)(**ppiVar12 + 8);" (assignment_expression "iVar6 = *(int *)(**ppiVar12 + 8)" identifier = (pointer_expression "*(int *)(**ppiVar12 + 8)" * (cast_expression "(int *)(**ppiVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**ppiVar12 + 8)" ( (binary_expression "**ppiVar12 + 8" (pointer_expression "**ppiVar12" * (pointer_expression "*ppiVar12" * identifier)) + number_literal) ))))) ;) (if_statement "if (iVar6 == 0) {\nLAB_0011efcb:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0011efcb:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }" { (labeled_statement "LAB_0011efcb:\n                    /* WARNING: Subroutine does not return */\n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;" statement_identifier : comment (expression_statement "*(code **)((int)ppiVar14 + -4) = FUN_0011efd0;" (assignment_expression "*(code **)((int)ppiVar14 + -4) = FUN_0011efd0" (pointer_expression "*(code **)((int)ppiVar14 + -4)" * (cast_expression "(code **)((int)ppiVar14 + -4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar14 + -4)" ( (binary_expression "(int)ppiVar14 + -4" (cast_expression "(int)ppiVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "FUN_00106b00();" (call_expression "FUN_00106b00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;" (assignment_expression "uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f" identifier = (binary_expression "*(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f" (pointer_expression "*(uint *)(*ppiVar12[0x1b] + 8)" * (cast_expression "(uint *)(*ppiVar12[0x1b] + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppiVar12[0x1b] + 8)" ( (binary_expression "*ppiVar12[0x1b] + 8" (pointer_expression "*ppiVar12[0x1b]" * (subscript_expression "ppiVar12[0x1b]" identifier [ number_literal ])) + number_literal) )))) & number_literal)) ;) (if_statement "if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }" if (parenthesized_expression "(*(char *)(iVar6 + 0x318d) != '\0')" ( (binary_expression "*(char *)(iVar6 + 0x318d) != '\0'" (pointer_expression "*(char *)(iVar6 + 0x318d)" * (cast_expression "(char *)(iVar6 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x318d)" ( (binary_expression "iVar6 + 0x318d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }" { (expression_statement "uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;" (assignment_expression "uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f" identifier = (binary_expression "*(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f" (pointer_expression "*(uint *)(*ppiVar12[0x1b] + 8)" * (cast_expression "(uint *)(*ppiVar12[0x1b] + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppiVar12[0x1b] + 8)" ( (binary_expression "*ppiVar12[0x1b] + 8" (pointer_expression "*ppiVar12[0x1b]" * (subscript_expression "ppiVar12[0x1b]" identifier [ number_literal ])) + number_literal) )))) & number_literal)) ;) })) (expression_statement "puVar2 = (undefined4 *)piVar10[6];" (assignment_expression "puVar2 = (undefined4 *)piVar10[6]" identifier = (cast_expression "(undefined4 *)piVar10[6]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar10[6]" identifier [ number_literal ]))) ;) (expression_statement "*ppiVar12 = *ppiVar12;" (assignment_expression "*ppiVar12 = *ppiVar12" (pointer_expression "*ppiVar12" * identifier) = (pointer_expression "*ppiVar12" * identifier)) ;) (expression_statement "ppiVar12[-2] = (int *)local_34;" (assignment_expression "ppiVar12[-2] = (int *)local_34" (subscript_expression "ppiVar12[-2]" identifier [ number_literal ]) = (cast_expression "(int *)local_34" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar12[-3] = (int *)0x1;" (assignment_expression "ppiVar12[-3] = (int *)0x1" (subscript_expression "ppiVar12[-3]" identifier [ number_literal ]) = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12[-4] = (int *)*puVar2;" (assignment_expression "ppiVar12[-4] = (int *)*puVar2" (subscript_expression "ppiVar12[-4]" identifier [ number_literal ]) = (cast_expression "(int *)*puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier))) ;) (expression_statement "ppiVar12[-5] = ppiVar12[0x17] + 2;" (assignment_expression "ppiVar12[-5] = ppiVar12[0x17] + 2" (subscript_expression "ppiVar12[-5]" identifier [ number_literal ]) = (binary_expression "ppiVar12[0x17] + 2" (subscript_expression "ppiVar12[0x17]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "ppiVar12[-6] = (int *)0x11ea2b;" (assignment_expression "ppiVar12[-6] = (int *)0x11ea2b" (subscript_expression "ppiVar12[-6]" identifier [ number_literal ]) = (cast_expression "(int *)0x11ea2b" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar5 = FUN_001e3f80();" (assignment_expression "uVar5 = FUN_001e3f80()" identifier = (call_expression "FUN_001e3f80()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppiVar12[-2] = (int *)0x0;" (assignment_expression "ppiVar12[-2] = (int *)0x0" (subscript_expression "ppiVar12[-2]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12[-3] = (int *)0x0;" (assignment_expression "ppiVar12[-3] = (int *)0x0" (subscript_expression "ppiVar12[-3]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12[-4] = (int *)0x0;" (assignment_expression "ppiVar12[-4] = (int *)0x0" (subscript_expression "ppiVar12[-4]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12[-5] = (int *)uVar17;" (assignment_expression "ppiVar12[-5] = (int *)uVar17" (subscript_expression "ppiVar12[-5]" identifier [ number_literal ]) = (cast_expression "(int *)uVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar12[-6] = ppiVar12[0x1c];" (assignment_expression "ppiVar12[-6] = ppiVar12[0x1c]" (subscript_expression "ppiVar12[-6]" identifier [ number_literal ]) = (subscript_expression "ppiVar12[0x1c]" identifier [ number_literal ])) ;) (expression_statement "ppiVar12[-7] = ppiVar12[9];" (assignment_expression "ppiVar12[-7] = ppiVar12[9]" (subscript_expression "ppiVar12[-7]" identifier [ number_literal ]) = (subscript_expression "ppiVar12[9]" identifier [ number_literal ])) ;) (expression_statement "ppiVar12[-8] = (int *)uVar5;" (assignment_expression "ppiVar12[-8] = (int *)uVar5" (subscript_expression "ppiVar12[-8]" identifier [ number_literal ]) = (cast_expression "(int *)uVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar12[-9] = ppiVar12[0x17];" (assignment_expression "ppiVar12[-9] = ppiVar12[0x17]" (subscript_expression "ppiVar12[-9]" identifier [ number_literal ]) = (subscript_expression "ppiVar12[0x17]" identifier [ number_literal ])) ;) (expression_statement "ppiVar12[-10] = (int *)0x11ea49;" (assignment_expression "ppiVar12[-10] = (int *)0x11ea49" (subscript_expression "ppiVar12[-10]" identifier [ number_literal ]) = (cast_expression "(int *)0x11ea49" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar6 = FUN_00110850();" (assignment_expression "iVar6 = FUN_00110850()" identifier = (call_expression "FUN_00110850()" identifier (argument_list "()" ( )))) ;) (expression_statement "apiStack_60[1] = *ppiVar12;" (assignment_expression "apiStack_60[1] = *ppiVar12" (subscript_expression "apiStack_60[1]" identifier [ number_literal ]) = (pointer_expression "*ppiVar12" * identifier)) ;) (expression_statement "ppiVar13 = ppiVar12 + -1;" (assignment_expression "ppiVar13 = ppiVar12 + -1" identifier = (binary_expression "ppiVar12 + -1" identifier + number_literal)) ;) (if_statement "if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }" if (parenthesized_expression "(-1 < (char)*(byte *)(iVar6 + 0x92))" ( (binary_expression "-1 < (char)*(byte *)(iVar6 + 0x92)" number_literal < (cast_expression "(char)*(byte *)(iVar6 + 0x92)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)(iVar6 + 0x92)" * (cast_expression "(byte *)(iVar6 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x92)" ( (binary_expression "iVar6 + 0x92" identifier + number_literal) )))))) )) (compound_statement "{\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }" { (expression_statement "*(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;" (assignment_expression "*(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar6 + 0x92)" * (cast_expression "(byte *)(iVar6 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x92)" ( (binary_expression "iVar6 + 0x92" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar6 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar6 + 0x92)" * (cast_expression "(byte *)(iVar6 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x92)" ( (binary_expression "iVar6 + 0x92" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "iVar9 = piVar10[6];" (assignment_expression "iVar9 = piVar10[6]" identifier = (subscript_expression "piVar10[6]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = *(undefined4 *)(iVar9 + 8);" (assignment_expression "uVar5 = *(undefined4 *)(iVar9 + 8)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 8)" * (cast_expression "(undefined4 *)(iVar9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 8)" ( (binary_expression "iVar9 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);" (assignment_expression "*(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4)" (pointer_expression "*(undefined4 *)(iVar6 + 0x9c)" * (cast_expression "(undefined4 *)(iVar6 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x9c)" ( (binary_expression "iVar6 + 0x9c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 4)" * (cast_expression "(undefined4 *)(iVar9 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(undefined4 *)(iVar9 + 0xc);" (assignment_expression "uVar3 = *(undefined4 *)(iVar9 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0xc)" * (cast_expression "(undefined4 *)(iVar9 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0xa0) = uVar5;" (assignment_expression "*(undefined4 *)(iVar6 + 0xa0) = uVar5" (pointer_expression "*(undefined4 *)(iVar6 + 0xa0)" * (cast_expression "(undefined4 *)(iVar6 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xa0)" ( (binary_expression "iVar6 + 0xa0" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar5 = *(undefined4 *)(iVar9 + 0x10);" (assignment_expression "uVar5 = *(undefined4 *)(iVar9 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0x10)" * (cast_expression "(undefined4 *)(iVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0xa4) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + 0xa4) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + 0xa4)" * (cast_expression "(undefined4 *)(iVar6 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xa4)" ( (binary_expression "iVar6 + 0xa4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar6 + 0xa8) = uVar5;" (assignment_expression "*(undefined4 *)(iVar6 + 0xa8) = uVar5" (pointer_expression "*(undefined4 *)(iVar6 + 0xa8)" * (cast_expression "(undefined4 *)(iVar6 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xa8)" ( (binary_expression "iVar6 + 0xa8" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppiVar13 = ppiVar12 + -1;" (assignment_expression "ppiVar13 = ppiVar12 + -1" identifier = (binary_expression "ppiVar12 + -1" identifier + number_literal)) ;) })) }))) }) (else_clause "else {\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);\n    ppiVar13 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }" else (compound_statement "{\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);\n    ppiVar13 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }" { (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 "uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);" (assignment_expression "uVar5 = 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 "iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);" (assignment_expression "iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0)" identifier = (call_expression "FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0)" identifier (argument_list "(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0)" ( identifier , identifier , identifier , (binary_expression "uVar1 & 0xfffff7ff" identifier & number_literal) , number_literal , number_literal , number_literal )))) ;) (expression_statement "ppiVar13 = apiStack_60 + 1;" (assignment_expression "ppiVar13 = 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_0011ea90:\n  piVar10 = (int *)ppiVar13[0x18][1];" statement_identifier : (expression_statement "piVar10 = (int *)ppiVar13[0x18][1];" (assignment_expression "piVar10 = (int *)ppiVar13[0x18][1]" identifier = (cast_expression "(int *)ppiVar13[0x18][1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x18][1]" (subscript_expression "ppiVar13[0x18]" identifier [ number_literal ]) [ number_literal ]))) ;)) (expression_statement "piVar11 = *(int **)(*apiStack_60[1] + 8);" (assignment_expression "piVar11 = *(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 "ppiVar13[1] = piVar10;" (assignment_expression "ppiVar13[1] = piVar10" (subscript_expression "ppiVar13[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar8 = *(byte *)(piVar10 + 0x2b);" (assignment_expression "bVar8 = *(byte *)(piVar10 + 0x2b)" identifier = (pointer_expression "*(byte *)(piVar10 + 0x2b)" * (cast_expression "(byte *)(piVar10 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10 + 0x2b)" ( (binary_expression "piVar10 + 0x2b" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = (uint)bVar8;" (assignment_expression "uVar17 = (uint)bVar8" identifier = (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (bVar8 != 0) {\n    if (piVar11 == (int *)0x0) goto LAB_0011ef08;\n    goto LAB_0011ebc2;\n  }" if (parenthesized_expression "(bVar8 != 0)" ( (binary_expression "bVar8 != 0" identifier != number_literal) )) (compound_statement "{\n    if (piVar11 == (int *)0x0) goto LAB_0011ef08;\n    goto LAB_0011ebc2;\n  }" { (if_statement "if (piVar11 == (int *)0x0) goto LAB_0011ef08;" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0011ef08;" goto statement_identifier ;)) (goto_statement "goto LAB_0011ebc2;" goto statement_identifier ;) })) (if_statement "if (piVar11 == (int *)0x0) {\nLAB_0011ef08:\n    ppiVar13[0xffffffff] = (int *)uVar17;\n    ppiVar13[0xfffffffe] = (int *)"options";\n    ppiVar13[0xfffffffd] = (int *)0x5c;\n    ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n    ppiVar13[0xfffffffb] = (int *)0x11ef1e;\n    FUN_000da200();\n  }" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0011ef08:\n    ppiVar13[0xffffffff] = (int *)uVar17;\n    ppiVar13[0xfffffffe] = (int *)"options";\n    ppiVar13[0xfffffffd] = (int *)0x5c;\n    ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n    ppiVar13[0xfffffffb] = (int *)0x11ef1e;\n    FUN_000da200();\n  }" { (labeled_statement "LAB_0011ef08:\n    ppiVar13[0xffffffff] = (int *)uVar17;" statement_identifier : (expression_statement "ppiVar13[0xffffffff] = (int *)uVar17;" (assignment_expression "ppiVar13[0xffffffff] = (int *)uVar17" (subscript_expression "ppiVar13[0xffffffff]" identifier [ number_literal ]) = (cast_expression "(int *)uVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "ppiVar13[0xfffffffe] = (int *)"options";" (assignment_expression "ppiVar13[0xfffffffe] = (int *)"options"" (subscript_expression "ppiVar13[0xfffffffe]" identifier [ number_literal ]) = (cast_expression "(int *)"options"" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (string_literal ""options"" " string_content "))) ;) (expression_statement "ppiVar13[0xfffffffd] = (int *)0x5c;" (assignment_expression "ppiVar13[0xfffffffd] = (int *)0x5c" (subscript_expression "ppiVar13[0xfffffffd]" identifier [ number_literal ]) = (cast_expression "(int *)0x5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h";" (assignment_expression "ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h"" (subscript_expression "ppiVar13[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 "ppiVar13[0xfffffffb] = (int *)0x11ef1e;" (assignment_expression "ppiVar13[0xfffffffb] = (int *)0x11ef1e" (subscript_expression "ppiVar13[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(int *)0x11ef1e" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar20 = false;" (assignment_expression "bVar20 = false" identifier = false) ;) (expression_statement "bVar23 = *(char *)((int)piVar11 + 0x318d) == '\0';" (assignment_expression "bVar23 = *(char *)((int)piVar11 + 0x318d) == '\0'" identifier = (binary_expression "*(char *)((int)piVar11 + 0x318d) == '\0'" (pointer_expression "*(char *)((int)piVar11 + 0x318d)" * (cast_expression "(char *)((int)piVar11 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 0x318d)" ( (binary_expression "(int)piVar11 + 0x318d" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar23) goto LAB_0011edf0;" if (parenthesized_expression "(!bVar23)" ( (unary_expression "!bVar23" ! identifier) )) (goto_statement "goto LAB_0011edf0;" goto statement_identifier ;)) (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)".ctors.";" (assignment_expression "pbVar15 = (byte *)".ctors."" identifier = (cast_expression "(byte *)".ctors."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".ctors."" " string_content "))) ;) (expression_statement "pbVar18 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n    if (iVar9 == 0) break;\n    iVar9 = iVar9 + -1;\n    bVar20 = *pbVar15 < *pbVar18;\n    bVar23 = *pbVar15 == *pbVar18;\n    pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n    pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n  } while (bVar23);" do (compound_statement "{\n    if (iVar9 == 0) break;\n    iVar9 = iVar9 + -1;\n    bVar20 = *pbVar15 < *pbVar18;\n    bVar23 = *pbVar15 == *pbVar18;\n    pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n    pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n  }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar20 = *pbVar15 < *pbVar18;" (assignment_expression "bVar20 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar23 = *pbVar15 == *pbVar18;" (assignment_expression "bVar23 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar23)" ( identifier )) ;) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "bVar20 = (!bVar20 && !bVar23) == bVar20;" (assignment_expression "bVar20 = (!bVar20 && !bVar23) == bVar20" identifier = (binary_expression "(!bVar20 && !bVar23) == bVar20" (parenthesized_expression "(!bVar20 && !bVar23)" ( (binary_expression "!bVar20 && !bVar23" (unary_expression "!bVar20" ! identifier) && (unary_expression "!bVar23" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar20) {\nLAB_0011eb78:\n    *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n    bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n    uVar17 = (uint)bVar8;\n    if (*(char *)((int)piVar11 + 0x3ced) == '\0') {\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }\n    if (bVar8 != 0) goto LAB_0011ebc2;\nLAB_0011eb9d:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\n    if (*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0') goto LAB_0011ee04;\n    if (cVar4 == '\0') {\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }\n  }\n  else {\n    iVar9 = 7;\n    pbVar15 = (byte *)".dtors.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar23 = false;\n    bVar20 = (!bVar21 && !bVar20) == bVar21;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".init_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar21 = false;\n    bVar20 = (!bVar23 && !bVar20) == bVar23;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".fini_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;\n    bVar20 = false;\n    bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';\n    if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }\nLAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;\nLAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\nLAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }\n  }" if (parenthesized_expression "(bVar20)" ( identifier )) (compound_statement "{\nLAB_0011eb78:\n    *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n    bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n    uVar17 = (uint)bVar8;\n    if (*(char *)((int)piVar11 + 0x3ced) == '\0') {\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }\n    if (bVar8 != 0) goto LAB_0011ebc2;\nLAB_0011eb9d:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\n    if (*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0') goto LAB_0011ee04;\n    if (cVar4 == '\0') {\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }\n  }" { (labeled_statement "LAB_0011eb78:\n    *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;" statement_identifier : (expression_statement "*(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;" (assignment_expression "*(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8" (pointer_expression "*(byte *)(iVar6 + 0x91)" * (cast_expression "(byte *)(iVar6 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x91)" ( (binary_expression "iVar6 + 0x91" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar6 + 0x91) | 8" (pointer_expression "*(byte *)(iVar6 + 0x91)" * (cast_expression "(byte *)(iVar6 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x91)" ( (binary_expression "iVar6 + 0x91" identifier + number_literal) )))) | number_literal)) ;)) (expression_statement "bVar8 = *(byte *)(ppiVar13[1] + 0x2b);" (assignment_expression "bVar8 = *(byte *)(ppiVar13[1] + 0x2b)" identifier = (pointer_expression "*(byte *)(ppiVar13[1] + 0x2b)" * (cast_expression "(byte *)(ppiVar13[1] + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar13[1] + 0x2b)" ( (binary_expression "ppiVar13[1] + 0x2b" (subscript_expression "ppiVar13[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "uVar17 = (uint)bVar8;" (assignment_expression "uVar17 = (uint)bVar8" identifier = (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (*(char *)((int)piVar11 + 0x3ced) == '\0') {\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }" if (parenthesized_expression "(*(char *)((int)piVar11 + 0x3ced) == '\0')" ( (binary_expression "*(char *)((int)piVar11 + 0x3ced) == '\0'" (pointer_expression "*(char *)((int)piVar11 + 0x3ced)" * (cast_expression "(char *)((int)piVar11 + 0x3ced)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 0x3ced)" ( (binary_expression "(int)piVar11 + 0x3ced" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }" { (labeled_statement "LAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;" statement_identifier : (if_statement "if (bVar8 != 0) goto LAB_0011ebc2;" if (parenthesized_expression "(bVar8 != 0)" ( (binary_expression "bVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011ebc2;" goto statement_identifier ;))) (goto_statement "goto LAB_0011edfd;" goto statement_identifier ;) })) (if_statement "if (bVar8 != 0) goto LAB_0011ebc2;" if (parenthesized_expression "(bVar8 != 0)" ( (binary_expression "bVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011ebc2;" goto statement_identifier ;)) (labeled_statement "LAB_0011eb9d:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);" statement_identifier : (expression_statement "cVar4 = *(char *)((int)piVar11 + 0x318d);" (assignment_expression "cVar4 = *(char *)((int)piVar11 + 0x318d)" identifier = (pointer_expression "*(char *)((int)piVar11 + 0x318d)" * (cast_expression "(char *)((int)piVar11 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 0x318d)" ( (binary_expression "(int)piVar11 + 0x318d" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (if_statement "if (*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0') goto LAB_0011ee04;" if (parenthesized_expression "(*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0')" ( (binary_expression "*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0'" (pointer_expression "*(char *)((int)ppiVar13[0x18] + 0x1cd)" * (cast_expression "(char *)((int)ppiVar13[0x18] + 0x1cd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13[0x18] + 0x1cd)" ( (binary_expression "(int)ppiVar13[0x18] + 0x1cd" (cast_expression "(int)ppiVar13[0x18]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppiVar13[0x18]" identifier [ number_literal ])) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0011ee04;" goto statement_identifier ;)) (if_statement "if (cVar4 == '\0') {\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }" { (expression_statement "ppiVar13[3] = piVar11;" (assignment_expression "ppiVar13[3] = piVar11" (subscript_expression "ppiVar13[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppuVar16 = &PTR_s__text_unlikely_00407080;" (assignment_expression "ppuVar16 = &PTR_s__text_unlikely_00407080" identifier = (pointer_expression "&PTR_s__text_unlikely_00407080" & identifier)) ;) (expression_statement "ppiVar13[2] = (int *)&PTR_s_aranges_00407090;" (assignment_expression "ppiVar13[2] = (int *)&PTR_s_aranges_00407090" (subscript_expression "ppiVar13[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 "pcVar19 = ".text.unlikely";" (assignment_expression "pcVar19 = ".text.unlikely"" identifier = (string_literal "".text.unlikely"" " string_content ")) ;) (expression_statement "sVar7 = 0xe;" (assignment_expression "sVar7 = 0xe" identifier = number_literal) ;) (while_statement "while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }" { (expression_statement "ppiVar13[0xfffffffe] = (int *)sVar7;" (assignment_expression "ppiVar13[0xfffffffe] = (int *)sVar7" (subscript_expression "ppiVar13[0xfffffffe]" identifier [ number_literal ]) = (cast_expression "(int *)sVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar13[0xfffffffd] = ppiVar13[0x1b];" (assignment_expression "ppiVar13[0xfffffffd] = ppiVar13[0x1b]" (subscript_expression "ppiVar13[0xfffffffd]" identifier [ number_literal ]) = (subscript_expression "ppiVar13[0x1b]" identifier [ number_literal ])) ;) (expression_statement "ppiVar13[0xfffffffc] = (int *)pcVar19;" (assignment_expression "ppiVar13[0xfffffffc] = (int *)pcVar19" (subscript_expression "ppiVar13[0xfffffffc]" identifier [ number_literal ]) = (cast_expression "(int *)pcVar19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar13[0xfffffffb] = (int *)0x11ef7d;" (assignment_expression "ppiVar13[0xfffffffb] = (int *)0x11ef7d" (subscript_expression "ppiVar13[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(int *)0x11ef7d" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);" (assignment_expression "iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe])" identifier = (call_expression "strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe])" identifier (argument_list "((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe])" ( (cast_expression "(char *)ppiVar13[0xfffffffc]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0xfffffffc]" identifier [ number_literal ])) , (cast_expression "(char *)ppiVar13[0xfffffffd]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0xfffffffd]" identifier [ number_literal ])) , (cast_expression "(size_t)ppiVar13[0xfffffffe]" ( (type_descriptor "size_t" primitive_type) ) (subscript_expression "ppiVar13[0xfffffffe]" identifier [ number_literal ])) )))) ;) (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "ppuVar16 = ppuVar16 + 1;" (assignment_expression "ppuVar16 = ppuVar16 + 1" identifier = (binary_expression "ppuVar16 + 1" identifier + number_literal)) ;) (if_statement "if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;" if (parenthesized_expression "((undefined **)ppiVar13[2] == ppuVar16)" ( (binary_expression "(undefined **)ppiVar13[2] == ppuVar16" (cast_expression "(undefined **)ppiVar13[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppiVar13[2]" identifier [ number_literal ])) == identifier) )) (goto_statement "goto LAB_0011ee0c;" goto statement_identifier ;)) (expression_statement "pcVar19 = *ppuVar16;" (assignment_expression "pcVar19 = *ppuVar16" identifier = (pointer_expression "*ppuVar16" * identifier)) ;) (expression_statement "ppiVar13[0xfffffffc] = (int *)pcVar19;" (assignment_expression "ppiVar13[0xfffffffc] = (int *)pcVar19" (subscript_expression "ppiVar13[0xfffffffc]" identifier [ number_literal ]) = (cast_expression "(int *)pcVar19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar13[0xfffffffb] = (int *)0x11ef9c;" (assignment_expression "ppiVar13[0xfffffffb] = (int *)0x11ef9c" (subscript_expression "ppiVar13[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(int *)0x11ef9c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar7 = strlen((char *)ppiVar13[0xfffffffc]);" (assignment_expression "sVar7 = strlen((char *)ppiVar13[0xfffffffc])" identifier = (call_expression "strlen((char *)ppiVar13[0xfffffffc])" identifier (argument_list "((char *)ppiVar13[0xfffffffc])" ( (cast_expression "(char *)ppiVar13[0xfffffffc]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0xfffffffc]" identifier [ number_literal ])) )))) ;) })) (expression_statement "piVar11 = ppiVar13[3];" (assignment_expression "piVar11 = ppiVar13[3]" identifier = (subscript_expression "ppiVar13[3]" identifier [ number_literal ])) ;) (expression_statement "*(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;" (assignment_expression "*(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8" (pointer_expression "*(byte *)(iVar6 + 0x91)" * (cast_expression "(byte *)(iVar6 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x91)" ( (binary_expression "iVar6 + 0x91" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar6 + 0x91) | 8" (pointer_expression "*(byte *)(iVar6 + 0x91)" * (cast_expression "(byte *)(iVar6 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x91)" ( (binary_expression "iVar6 + 0x91" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "bVar8 = *(byte *)(ppiVar13[1] + 0x2b);" (assignment_expression "bVar8 = *(byte *)(ppiVar13[1] + 0x2b)" identifier = (pointer_expression "*(byte *)(ppiVar13[1] + 0x2b)" * (cast_expression "(byte *)(ppiVar13[1] + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar13[1] + 0x2b)" ( (binary_expression "ppiVar13[1] + 0x2b" (subscript_expression "ppiVar13[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "uVar17 = (uint)bVar8;" (assignment_expression "uVar17 = (uint)bVar8" identifier = (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_0011ef39;" goto statement_identifier ;) })) }) (else_clause "else {\n    iVar9 = 7;\n    pbVar15 = (byte *)".dtors.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar23 = false;\n    bVar20 = (!bVar21 && !bVar20) == bVar21;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".init_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar21 = false;\n    bVar20 = (!bVar23 && !bVar20) == bVar23;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".fini_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;\n    bVar20 = false;\n    bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';\n    if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }\nLAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;\nLAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\nLAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }\n  }" else (compound_statement "{\n    iVar9 = 7;\n    pbVar15 = (byte *)".dtors.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar23 = false;\n    bVar20 = (!bVar21 && !bVar20) == bVar21;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".init_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar21 = false;\n    bVar20 = (!bVar23 && !bVar20) == bVar23;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".fini_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;\n    bVar20 = false;\n    bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';\n    if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }\nLAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;\nLAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\nLAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }\n  }" { (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)".dtors.";" (assignment_expression "pbVar15 = (byte *)".dtors."" identifier = (cast_expression "(byte *)".dtors."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".dtors."" " string_content "))) ;) (expression_statement "pbVar18 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);" do (compound_statement "{\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar15 < *pbVar18;" (assignment_expression "bVar21 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar20 = (!bVar21 && !bVar20) == bVar21;" (assignment_expression "bVar20 = (!bVar21 && !bVar20) == bVar21" identifier = (binary_expression "(!bVar21 && !bVar20) == bVar21" (parenthesized_expression "(!bVar21 && !bVar20)" ( (binary_expression "!bVar21 && !bVar20" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar20) goto LAB_0011eb78;" if (parenthesized_expression "(bVar20)" ( identifier )) (goto_statement "goto LAB_0011eb78;" goto statement_identifier ;)) (expression_statement "iVar9 = 0xc;" (assignment_expression "iVar9 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)".init_array.";" (assignment_expression "pbVar15 = (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 "pbVar18 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);" do (compound_statement "{\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar15 < *pbVar18;" (assignment_expression "bVar23 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "bVar20 = (!bVar23 && !bVar20) == bVar23;" (assignment_expression "bVar20 = (!bVar23 && !bVar20) == bVar23" identifier = (binary_expression "(!bVar23 && !bVar20) == bVar23" (parenthesized_expression "(!bVar23 && !bVar20)" ( (binary_expression "!bVar23 && !bVar20" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar20) goto LAB_0011eb78;" if (parenthesized_expression "(bVar20)" ( identifier )) (goto_statement "goto LAB_0011eb78;" goto statement_identifier ;)) (expression_statement "iVar9 = 0xc;" (assignment_expression "iVar9 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)".fini_array.";" (assignment_expression "pbVar15 = (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 "pbVar18 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);" do (compound_statement "{\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar15 < *pbVar18;" (assignment_expression "bVar21 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (if_statement "if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;" if (parenthesized_expression "((!bVar21 && !bVar20) == bVar21)" ( (binary_expression "(!bVar21 && !bVar20) == bVar21" (parenthesized_expression "(!bVar21 && !bVar20)" ( (binary_expression "!bVar21 && !bVar20" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) == identifier) )) (goto_statement "goto LAB_0011eb78;" goto statement_identifier ;)) (expression_statement "bVar20 = false;" (assignment_expression "bVar20 = false" identifier = false) ;) (expression_statement "bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';" (assignment_expression "bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0'" identifier = (binary_expression "*(char *)((int)piVar11 + 0xad5) == '\0'" (pointer_expression "*(char *)((int)piVar11 + 0xad5)" * (cast_expression "(char *)((int)piVar11 + 0xad5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 0xad5)" ( (binary_expression "(int)piVar11 + 0xad5" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }" if (parenthesized_expression "(!bVar23)" ( (unary_expression "!bVar23" ! identifier) )) (compound_statement "{\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }" { (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar15 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" 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 "))) ;) (do_statement "do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);" do (compound_statement "{\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar20 = *pbVar15 < *pbVar18;" (assignment_expression "bVar20 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar23 = *pbVar15 == *pbVar18;" (assignment_expression "bVar23 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar23)" ( identifier )) ;) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "bVar20 = (!bVar20 && !bVar23) == bVar20;" (assignment_expression "bVar20 = (!bVar20 && !bVar23) == bVar20" identifier = (binary_expression "(!bVar20 && !bVar23) == bVar20" (parenthesized_expression "(!bVar20 && !bVar23)" ( (binary_expression "!bVar20 && !bVar23" (unary_expression "!bVar20" ! identifier) && (unary_expression "!bVar23" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }" if (parenthesized_expression "(!bVar20)" ( (unary_expression "!bVar20" ! identifier) )) (compound_statement "{\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }" { (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar15 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" 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 "))) ;) (do_statement "do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);" do (compound_statement "{\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar15 < *pbVar18;" (assignment_expression "bVar21 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (if_statement "if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;" if (parenthesized_expression "((!bVar21 && !bVar20) != bVar21)" ( (binary_expression "(!bVar21 && !bVar20) != bVar21" (parenthesized_expression "(!bVar21 && !bVar20)" ( (binary_expression "!bVar21 && !bVar20" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_0011edf0;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0011eb78;" goto statement_identifier ;) })) (labeled_statement "LAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;" statement_identifier : (if_statement "if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;" if (parenthesized_expression "(*(char *)((int)piVar11 + 0x3ced) != '\0')" ( (binary_expression "*(char *)((int)piVar11 + 0x3ced) != '\0'" (pointer_expression "*(char *)((int)piVar11 + 0x3ced)" * (cast_expression "(char *)((int)piVar11 + 0x3ced)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 0x3ced)" ( (binary_expression "(int)piVar11 + 0x3ced" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0011eb9d;" goto statement_identifier ;))) (labeled_statement "LAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);" statement_identifier : (expression_statement "cVar4 = *(char *)((int)piVar11 + 0x318d);" (assignment_expression "cVar4 = *(char *)((int)piVar11 + 0x318d)" identifier = (pointer_expression "*(char *)((int)piVar11 + 0x318d)" * (cast_expression "(char *)((int)piVar11 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 0x318d)" ( (binary_expression "(int)piVar11 + 0x318d" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (labeled_statement "LAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }" statement_identifier : (if_statement "if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }" { (labeled_statement "LAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);" statement_identifier : (expression_statement "uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);" (assignment_expression "uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14)" identifier = (pointer_expression "*(uint *)(*ppiVar13[0x1c] + 0x14)" * (cast_expression "(uint *)(*ppiVar13[0x1c] + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppiVar13[0x1c] + 0x14)" ( (binary_expression "*ppiVar13[0x1c] + 0x14" (pointer_expression "*ppiVar13[0x1c]" * (subscript_expression "ppiVar13[0x1c]" identifier [ number_literal ])) + number_literal) ))))) ;)) (expression_statement "bVar20 = uVar17 < 4;" (assignment_expression "bVar20 = uVar17 < 4" identifier = (binary_expression "uVar17 < 4" identifier < number_literal)) ;) (expression_statement "bVar23 = uVar17 == 4;" (assignment_expression "bVar23 = uVar17 == 4" identifier = (binary_expression "uVar17 == 4" identifier == number_literal)) ;) (if_statement "if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }" if (parenthesized_expression "(4 < uVar17)" ( (binary_expression "4 < uVar17" number_literal < identifier) )) (compound_statement "{\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }" { (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar15 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" 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 "))) ;) (do_statement "do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);" do (compound_statement "{\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar20 = *pbVar15 < *pbVar18;" (assignment_expression "bVar20 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar23 = *pbVar15 == *pbVar18;" (assignment_expression "bVar23 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar23)" ( identifier )) ;) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "bVar20 = (!bVar20 && !bVar23) == bVar20;" (assignment_expression "bVar20 = (!bVar20 && !bVar23) == bVar20" identifier = (binary_expression "(!bVar20 && !bVar23) == bVar20" (parenthesized_expression "(!bVar20 && !bVar23)" ( (binary_expression "!bVar20 && !bVar23" (unary_expression "!bVar20" ! identifier) && (unary_expression "!bVar23" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }" if (parenthesized_expression "(bVar20)" ( identifier )) (compound_statement "{\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }" { (labeled_statement "LAB_0011ee50:\n          bVar23 = false;" statement_identifier : (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;)) (expression_statement "iVar9 = 0xc;" (assignment_expression "iVar9 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar15 = *(byte **)(iVar6 + 0x20);" (assignment_expression "pbVar15 = *(byte **)(iVar6 + 0x20)" identifier = (pointer_expression "*(byte **)(iVar6 + 0x20)" * (cast_expression "(byte **)(iVar6 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" 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 "))) ;) (do_statement "do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);" do (compound_statement "{\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar15 < *pbVar18;" (assignment_expression "bVar23 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (expression_statement "bVar20 = (!bVar23 && !bVar20) == bVar23;" (assignment_expression "bVar20 = (!bVar23 && !bVar20) == bVar23" identifier = (binary_expression "(!bVar23 && !bVar20) == bVar23" (parenthesized_expression "(!bVar23 && !bVar20)" ( (binary_expression "!bVar23 && !bVar20" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar20) goto LAB_0011eeb8;" if (parenthesized_expression "(!bVar20)" ( (unary_expression "!bVar20" ! identifier) )) (goto_statement "goto LAB_0011eeb8;" goto statement_identifier ;)) }) (else_clause "else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }" else (compound_statement "{\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }" { (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)".ctors.";" (assignment_expression "pbVar15 = (byte *)".ctors."" identifier = (cast_expression "(byte *)".ctors."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".ctors."" " string_content "))) ;) (expression_statement "pbVar18 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);" do (compound_statement "{\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar15 < *pbVar18;" (assignment_expression "bVar21 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (expression_statement "bVar20 = (!bVar21 && !bVar20) == bVar21;" (assignment_expression "bVar20 = (!bVar21 && !bVar20) == bVar21" identifier = (binary_expression "(!bVar21 && !bVar20) == bVar21" (parenthesized_expression "(!bVar21 && !bVar20)" ( (binary_expression "!bVar21 && !bVar20" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar20) goto LAB_0011ee50;" if (parenthesized_expression "(bVar20)" ( identifier )) (goto_statement "goto LAB_0011ee50;" goto statement_identifier ;)) (labeled_statement "LAB_0011eeb8:\n          bVar23 = false;" statement_identifier : (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;)) (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar15 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" 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 "))) ;) (do_statement "do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);" do (compound_statement "{\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar15 < *pbVar18;" (assignment_expression "bVar23 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "bVar20 = (!bVar23 && !bVar20) == bVar23;" (assignment_expression "bVar20 = (!bVar23 && !bVar20) == bVar23" identifier = (binary_expression "(!bVar23 && !bVar20) == bVar23" (parenthesized_expression "(!bVar23 && !bVar20)" ( (binary_expression "!bVar23 && !bVar20" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }" if (parenthesized_expression "(!bVar20)" ( (unary_expression "!bVar20" ! identifier) )) (compound_statement "{\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }" { (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)".dtors.";" (assignment_expression "pbVar15 = (byte *)".dtors."" identifier = (cast_expression "(byte *)".dtors."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".dtors."" " string_content "))) ;) (expression_statement "pbVar18 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);" do (compound_statement "{\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar15 < *pbVar18;" (assignment_expression "bVar21 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (expression_statement "bVar20 = (!bVar21 && !bVar20) == bVar21;" (assignment_expression "bVar20 = (!bVar21 && !bVar20) == bVar21" identifier = (binary_expression "(!bVar21 && !bVar20) == bVar21" (parenthesized_expression "(!bVar21 && !bVar20)" ( (binary_expression "!bVar21 && !bVar20" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar20) goto LAB_0011ebc0;" if (parenthesized_expression "(!bVar20)" ( (unary_expression "!bVar20" ! identifier) )) (goto_statement "goto LAB_0011ebc0;" goto statement_identifier ;)) })) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "iVar9 = 0xc;" (assignment_expression "iVar9 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar15 = *(byte **)(iVar6 + 0x20);" (assignment_expression "pbVar15 = *(byte **)(iVar6 + 0x20)" identifier = (pointer_expression "*(byte **)(iVar6 + 0x20)" * (cast_expression "(byte **)(iVar6 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" 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 "))) ;) (do_statement "do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);" do (compound_statement "{\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar15 < *pbVar18;" (assignment_expression "bVar23 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (if_statement "if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;" if (parenthesized_expression "((!bVar23 && !bVar20) != bVar23)" ( (binary_expression "(!bVar23 && !bVar20) != bVar23" (parenthesized_expression "(!bVar23 && !bVar20)" ( (binary_expression "!bVar23 && !bVar20" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_0011ebc0;" goto statement_identifier ;)) }))) (expression_statement "ppiVar13[10] = ppiVar13[0x19];" (assignment_expression "ppiVar13[10] = ppiVar13[0x19]" (subscript_expression "ppiVar13[10]" identifier [ number_literal ]) = (subscript_expression "ppiVar13[0x19]" identifier [ number_literal ])) ;) (expression_statement "ppiVar13[0xb] = ppiVar13[0x1a];" (assignment_expression "ppiVar13[0xb] = ppiVar13[0x1a]" (subscript_expression "ppiVar13[0xb]" identifier [ number_literal ]) = (subscript_expression "ppiVar13[0x1a]" identifier [ number_literal ])) ;) (expression_statement "ppiVar13[9] = &DAT_00414774;" (assignment_expression "ppiVar13[9] = &DAT_00414774" (subscript_expression "ppiVar13[9]" identifier [ number_literal ]) = (pointer_expression "&DAT_00414774" & identifier)) ;) (expression_statement "ppiVar13[0xfffffffd] = (int *)0x1;" (assignment_expression "ppiVar13[0xfffffffd] = (int *)0x1" (subscript_expression "ppiVar13[0xfffffffd]" identifier [ number_literal ]) = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar13[0xfffffffc] = (int *)0x0;" (assignment_expression "ppiVar13[0xfffffffc] = (int *)0x0" (subscript_expression "ppiVar13[0xfffffffc]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);" (assignment_expression "ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9)" (subscript_expression "ppiVar13[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(int *)(ppiVar13 + 9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar13 + 9)" ( (binary_expression "ppiVar13 + 9" identifier + number_literal) )))) ;) (expression_statement "ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);" (assignment_expression "ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10)" (subscript_expression "ppiVar13[0xfffffffa]" identifier [ number_literal ]) = (cast_expression "(int *)(ppiVar13 + 10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar13 + 10)" ( (binary_expression "ppiVar13 + 10" identifier + number_literal) )))) ;) (expression_statement "ppiVar13[0xfffffff9] = &DAT_00414774;" (assignment_expression "ppiVar13[0xfffffff9] = &DAT_00414774" (subscript_expression "ppiVar13[0xfffffff9]" identifier [ number_literal ]) = (pointer_expression "&DAT_00414774" & identifier)) ;) (expression_statement "ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);" (assignment_expression "ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4)" (subscript_expression "ppiVar13[0xfffffff8]" identifier [ number_literal ]) = (cast_expression "(int *)(ppiVar13 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar13 + 4)" ( (binary_expression "ppiVar13 + 4" identifier + number_literal) )))) ;) (expression_statement "ppiVar13[0xfffffff7] = (int *)0x11ee9f;" (assignment_expression "ppiVar13[0xfffffff7] = (int *)0x11ee9f" (subscript_expression "ppiVar13[0xfffffff7]" identifier [ number_literal ]) = (cast_expression "(int *)0x11ee9f" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000a8d90();" (call_expression "FUN_000a8d90()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppiVar12 = ppiVar13 + 0x17;" (assignment_expression "ppiVar12 = ppiVar13 + 0x17" identifier = (binary_expression "ppiVar13 + 0x17" identifier + number_literal)) ;) (expression_statement "ppiVar13 = ppiVar13 + 0xffffffff;" (assignment_expression "ppiVar13 = ppiVar13 + 0xffffffff" identifier = (binary_expression "ppiVar13 + 0xffffffff" identifier + number_literal)) ;) (expression_statement "uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);" (assignment_expression "uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac)" identifier = (binary_expression "(uint)*(byte *)((*ppiVar12)[1] + 0xac)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((*ppiVar12)[1] + 0xac)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*ppiVar12)[1] + 0xac)" ( (binary_expression "(*ppiVar12)[1] + 0xac" (subscript_expression "(*ppiVar12)[1]" (parenthesized_expression "(*ppiVar12)" ( (pointer_expression "*ppiVar12" * identifier) )) [ number_literal ]) + number_literal) ))))) ;) (goto_statement "goto LAB_0011ebc2;" goto statement_identifier ;) })) }))) }))) (labeled_statement "LAB_0011ebc0:\n  uVar17 = 0;" statement_identifier : (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_0011ebc2:\n  uVar1 = *(uint *)(iVar6 + 0x54);" statement_identifier : (expression_statement "uVar1 = *(uint *)(iVar6 + 0x54);" (assignment_expression "uVar1 = *(uint *)(iVar6 + 0x54)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x54)" * (cast_expression "(uint *)(iVar6 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x54)" ( (binary_expression "iVar6 + 0x54" identifier + number_literal) ))))) ;)) (expression_statement "*(uint *)((int)ppiVar13 + -4) = uVar17;" (assignment_expression "*(uint *)((int)ppiVar13 + -4) = uVar17" (pointer_expression "*(uint *)((int)ppiVar13 + -4)" * (cast_expression "(uint *)((int)ppiVar13 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -4)" ( (binary_expression "(int)ppiVar13 + -4" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar13 + -8) = *(undefined4 *)((int)ppiVar13 + 0x78);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -8) = *(undefined4 *)((int)ppiVar13 + 0x78)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -8)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -8)" ( (binary_expression "(int)ppiVar13 + -8" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar13 + 0x78)" * (cast_expression "(undefined4 *)((int)ppiVar13 + 0x78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + 0x78)" ( (binary_expression "(int)ppiVar13 + 0x78" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0xc) = *(undefined4 *)((int)ppiVar13 + 0x70);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0xc) = *(undefined4 *)((int)ppiVar13 + 0x70)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0xc)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0xc)" ( (binary_expression "(int)ppiVar13 + -0xc" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar13 + 0x70)" * (cast_expression "(undefined4 *)((int)ppiVar13 + 0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + 0x70)" ( (binary_expression "(int)ppiVar13 + 0x70" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x6c);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x6c)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x10)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0x10)" ( (binary_expression "(int)ppiVar13 + -0x10" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar13 + 0x6c)" * (cast_expression "(undefined4 *)((int)ppiVar13 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + 0x6c)" ( (binary_expression "(int)ppiVar13 + 0x6c" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x14) = *(undefined4 *)((int)ppiVar13 + 0x68);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x14) = *(undefined4 *)((int)ppiVar13 + 0x68)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0x14)" ( (binary_expression "(int)ppiVar13 + -0x14" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar13 + 0x68)" * (cast_expression "(undefined4 *)((int)ppiVar13 + 0x68)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + 0x68)" ( (binary_expression "(int)ppiVar13 + 0x68" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x18) = *(undefined4 *)((int)ppiVar13 + 100);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x18) = *(undefined4 *)((int)ppiVar13 + 100)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x18)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0x18)" ( (binary_expression "(int)ppiVar13 + -0x18" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar13 + 100)" * (cast_expression "(undefined4 *)((int)ppiVar13 + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + 100)" ( (binary_expression "(int)ppiVar13 + 100" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x1c) = *(undefined4 *)((int)ppiVar13 + 0x60);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x1c) = *(undefined4 *)((int)ppiVar13 + 0x60)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x1c)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0x1c)" ( (binary_expression "(int)ppiVar13 + -0x1c" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar13 + 0x60)" * (cast_expression "(undefined4 *)((int)ppiVar13 + 0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + 0x60)" ( (binary_expression "(int)ppiVar13 + 0x60" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(int *)((int)ppiVar13 + -0x20) = iVar6;" (assignment_expression "*(int *)((int)ppiVar13 + -0x20) = iVar6" (pointer_expression "*(int *)((int)ppiVar13 + -0x20)" * (cast_expression "(int *)((int)ppiVar13 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0x20)" ( (binary_expression "(int)ppiVar13 + -0x20" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x24) = 0x11ebe4;" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x24) = 0x11ebe4" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x24)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0x24)" ( (binary_expression "(int)ppiVar13 + -0x24" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar26 = FUN_00191220();" (assignment_expression "uVar26 = FUN_00191220()" identifier = (call_expression "FUN_00191220()" identifier (argument_list "()" ( )))) ;) (expression_statement "**(undefined8 **)((int)ppiVar13 + 0x80) = uVar26;" (assignment_expression "**(undefined8 **)((int)ppiVar13 + 0x80) = uVar26" (pointer_expression "**(undefined8 **)((int)ppiVar13 + 0x80)" * (pointer_expression "*(undefined8 **)((int)ppiVar13 + 0x80)" * (cast_expression "(undefined8 **)((int)ppiVar13 + 0x80)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar13 + 0x80)" ( (binary_expression "(int)ppiVar13 + 0x80" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) = identifier) ;) (if_statement "if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar13 + -8) = 0;\n    *(int *)((int)ppiVar13 + -0xc) = iVar6;\n    *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60);\n    *(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12;\n    uVar5 = FUN_00107cf0();\n    *(undefined4 *)(iVar6 + 0x5c) = uVar5;\n  }" if (parenthesized_expression "(((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5) != 0))" ( (binary_expression "((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar6 + 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 *)(iVar6 + 0x54)) & 5) != 0)" ( (binary_expression "((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5) != 0" (parenthesized_expression "((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5)" ( (binary_expression "(uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5" (parenthesized_expression "(uVar1 ^ *(uint *)(iVar6 + 0x54))" ( (binary_expression "uVar1 ^ *(uint *)(iVar6 + 0x54)" identifier ^ (pointer_expression "*(uint *)(iVar6 + 0x54)" * (cast_expression "(uint *)(iVar6 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x54)" ( (binary_expression "iVar6 + 0x54" identifier + number_literal) ))))) )) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    *(undefined4 *)((int)ppiVar13 + -8) = 0;\n    *(int *)((int)ppiVar13 + -0xc) = iVar6;\n    *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60);\n    *(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12;\n    uVar5 = FUN_00107cf0();\n    *(undefined4 *)(iVar6 + 0x5c) = uVar5;\n  }" { (expression_statement "*(undefined4 *)((int)ppiVar13 + -8) = 0;" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -8) = 0" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -8)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -8)" ( (binary_expression "(int)ppiVar13 + -8" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppiVar13 + -0xc) = iVar6;" (assignment_expression "*(int *)((int)ppiVar13 + -0xc) = iVar6" (pointer_expression "*(int *)((int)ppiVar13 + -0xc)" * (cast_expression "(int *)((int)ppiVar13 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0xc)" ( (binary_expression "(int)ppiVar13 + -0xc" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x10)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0x10)" ( (binary_expression "(int)ppiVar13 + -0x10" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar13 + 0x60)" * (cast_expression "(undefined4 *)((int)ppiVar13 + 0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + 0x60)" ( (binary_expression "(int)ppiVar13 + 0x60" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12;" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0x14)" ( (binary_expression "(int)ppiVar13 + -0x14" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar5 = FUN_00107cf0();" (assignment_expression "uVar5 = FUN_00107cf0()" identifier = (call_expression "FUN_00107cf0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x5c) = uVar5;" (assignment_expression "*(undefined4 *)(iVar6 + 0x5c) = uVar5" (pointer_expression "*(undefined4 *)(iVar6 + 0x5c)" * (cast_expression "(undefined4 *)(iVar6 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x5c)" ( (binary_expression "iVar6 + 0x5c" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "*(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4) = 1;" (assignment_expression "*(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4) = 1" (pointer_expression "*(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4)" * (cast_expression "(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)ppiVar13 + 0x60) + 0x1c4)" ( (binary_expression "*(int *)((int)ppiVar13 + 0x60) + 0x1c4" (pointer_expression "*(int *)((int)ppiVar13 + 0x60)" * (cast_expression "(int *)((int)ppiVar13 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + 0x60)" ( (binary_expression "(int)ppiVar13 + 0x60" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) = number_literal) ;) (return_statement "return iVar6;" 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, false>\n   DWARF original prototype: Output_section * layout<32,_false>(Layout * this,\n   Sized_relobj_file<32,_false> * object, uint shndx, char * name, Shdr<32,_false> * shdr, uint\n   sh_type, uint reloc_shndx, uint param_9, off_t * off) */\n\nOutput_section * __thiscall\ngold::Layout::layout<32,_false>\n          (Layout *this,Sized_relobj_file<32,_false> *object,uint shndx,char *name,\n          Shdr<32,_false> *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,_false>\n          (Layout *this,Sized_relobj_file<32,_false> *object,uint shndx,char *name,\n          Shdr<32,_false> *shdr,uint sh_type,uint reloc_shndx,uint param_7,off_t *off)" (binary_expression "Output_section * __thiscall\ngold::Layout::layout<32,_false>\n          (Layout *this,Sized_relobj_file<32,_false> *object,uint shndx,char *name,\n          Shdr<32,_false> *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 ",_false" , identifier) > (parenthesized_expression "(Layout *this,Sized_relobj_file<32,_false> *object,uint shndx,char *name,\n          Shdr<32,_false> *shdr,uint sh_type,uint reloc_shndx,uint param_7,off_t *off)" ( (comma_expression "Layout *this,Sized_relobj_file<32,_false> *object,uint shndx,char *name,\n          Shdr<32,_false> *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,_false> *object,uint shndx,char *name,\n          Shdr<32,_false> *shdr,uint sh_type,uint reloc_shndx,uint param_7,off_t *off" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *object,uint shndx,char *name,\n          Shdr<32,_false> *shdr,uint sh_type,uint reloc_shndx,uint param_7,off_t *off" (binary_expression "_false> *object" identifier > (pointer_expression "*object" * identifier)) , (ERROR "uint shndx,char *name,\n          Shdr<32,_false> *shdr,uint sh_type,uint" identifier (comma_expression "shndx,char *name,\n          Shdr<32,_false> *shdr,uint sh_type,uint" identifier , (comma_expression "char *name,\n          Shdr<32,_false> *shdr,uint sh_type,uint" (binary_expression "char *name" identifier * identifier) , (comma_expression "Shdr<32,_false> *shdr,uint sh_type,uint" (binary_expression "Shdr<32" identifier < number_literal) , (comma_expression "_false> *shdr,uint sh_type,uint" (binary_expression "_false> *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_0011e910(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  char cVar4;\n  undefined4 uVar5;\n  int iVar6;\n  size_t sVar7;\n  byte bVar8;\n  int iVar9;\n  int *piVar10;\n  int *piVar11;\n  int **ppiVar12;\n  int **ppiVar13;\n  int **ppiVar14;\n  byte *pbVar15;\n  undefined **ppuVar16;\n  uint uVar17;\n  byte *pbVar18;\n  char *pcVar19;\n  bool bVar20;\n  bool bVar21;\n  undefined1 uVar22;\n  bool bVar23;\n  undefined1 uVar24;\n  byte bVar25;\n  undefined8 uVar26;\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  bVar25 = 0;\n  uStack_14 = 0x11e919;\n  *param_9 = 0;\n  param_9[1] = 0;\n  apiStack_60[0] = param_5;\n  cVar4 = FUN_00117830(param_1,param_2,param_4);\n  ppiVar13 = apiStack_60 + 1;\n  ppiVar12 = apiStack_60 + 1;\n  if (cVar4 == '\0') {\n    return 0;\n  }\n  uVar17 = *(uint *)(DAT_004144e8 + 8);\n  if (uVar17 == 0) goto LAB_0011ef08;\n  if ((*(char *)(uVar17 + 0x318d) == '\0') ||\n     (uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0)) {\n    piVar10 = &DAT_004144e8;\n    if (*(char *)(uVar17 + 0x5871) != '\0') {\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }\n    ppiVar12[1] = piVar10;\n    ppiVar12[10] = ppiVar12[0x19];\n    ppiVar12[0xb] = ppiVar12[0x1a];\n    ppiVar12[-2] = (int *)local_34;\n    ppiVar12[-3] = ppiVar12[0x18] + 0x81;\n    ppiVar12[-4] = (int *)(ppiVar12 + 7);\n    ppiVar12[-5] = (int *)0x11e9c5;\n    FUN_001196a0();\n    piVar10 = ppiVar12[6];\n    ppiVar14 = ppiVar12 + -1;\n    if (piVar10 == ppiVar12[0x17] + 0x82) {\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }\n  }\n  else {\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);\n    ppiVar13 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }\nLAB_0011ea90:\n  piVar10 = (int *)ppiVar13[0x18][1];\n  piVar11 = *(int **)(*apiStack_60[1] + 8);\n  ppiVar13[1] = piVar10;\n  bVar8 = *(byte *)(piVar10 + 0x2b);\n  uVar17 = (uint)bVar8;\n  if (bVar8 != 0) {\n    if (piVar11 == (int *)0x0) goto LAB_0011ef08;\n    goto LAB_0011ebc2;\n  }\n  if (piVar11 == (int *)0x0) {\nLAB_0011ef08:\n    ppiVar13[0xffffffff] = (int *)uVar17;\n    ppiVar13[0xfffffffe] = (int *)"options";\n    ppiVar13[0xfffffffd] = (int *)0x5c;\n    ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    \n    ppiVar13[0xfffffffb] = (int *)0x11ef1e;\n    FUN_000da200();\n  }\n  bVar20 = false;\n  bVar23 = *(char *)((int)piVar11 + 0x318d) == '\0';\n  if (!bVar23) goto LAB_0011edf0;\n  iVar9 = 7;\n  pbVar15 = (byte *)".ctors.";\n  pbVar18 = (byte *)ppiVar13[0x1b];\n  do {\n    if (iVar9 == 0) break;\n    iVar9 = iVar9 + -1;\n    bVar20 = *pbVar15 < *pbVar18;\n    bVar23 = *pbVar15 == *pbVar18;\n    pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n    pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n  } while (bVar23);\n  bVar21 = false;\n  bVar20 = (!bVar20 && !bVar23) == bVar20;\n  if (bVar20) {\nLAB_0011eb78:\n    *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n    bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n    uVar17 = (uint)bVar8;\n    if (*(char *)((int)piVar11 + 0x3ced) == '\0') {\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }\n    if (bVar8 != 0) goto LAB_0011ebc2;\nLAB_0011eb9d:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\n    if (*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0') goto LAB_0011ee04;\n    if (cVar4 == '\0') {\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }\n  }\n  else {\n    iVar9 = 7;\n    pbVar15 = (byte *)".dtors.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar23 = false;\n    bVar20 = (!bVar21 && !bVar20) == bVar21;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".init_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar21 = false;\n    bVar20 = (!bVar23 && !bVar20) == bVar23;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".fini_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;\n    bVar20 = false;\n    bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';\n    if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }\nLAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;\nLAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\nLAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }\n  }\nLAB_0011ebc0:\n  uVar17 = 0;\nLAB_0011ebc2:\n  uVar1 = *(uint *)(iVar6 + 0x54);\n  *(uint *)((int)ppiVar13 + -4) = uVar17;\n  *(undefined4 *)((int)ppiVar13 + -8) = *(undefined4 *)((int)ppiVar13 + 0x78);\n  *(undefined4 *)((int)ppiVar13 + -0xc) = *(undefined4 *)((int)ppiVar13 + 0x70);\n  *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x6c);\n  *(undefined4 *)((int)ppiVar13 + -0x14) = *(undefined4 *)((int)ppiVar13 + 0x68);\n  *(undefined4 *)((int)ppiVar13 + -0x18) = *(undefined4 *)((int)ppiVar13 + 100);\n  *(undefined4 *)((int)ppiVar13 + -0x1c) = *(undefined4 *)((int)ppiVar13 + 0x60);\n  *(int *)((int)ppiVar13 + -0x20) = iVar6;\n  *(undefined4 *)((int)ppiVar13 + -0x24) = 0x11ebe4;\n  uVar26 = FUN_00191220();\n  **(undefined8 **)((int)ppiVar13 + 0x80) = uVar26;\n  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar13 + -8) = 0;\n    *(int *)((int)ppiVar13 + -0xc) = iVar6;\n    *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60);\n    *(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12;\n    uVar5 = FUN_00107cf0();\n    *(undefined4 *)(iVar6 + 0x5c) = uVar5;\n  }\n  *(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4) = 1;\n  return iVar6;\n}\n\n" (function_definition "int FUN_0011e910(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  char cVar4;\n  undefined4 uVar5;\n  int iVar6;\n  size_t sVar7;\n  byte bVar8;\n  int iVar9;\n  int *piVar10;\n  int *piVar11;\n  int **ppiVar12;\n  int **ppiVar13;\n  int **ppiVar14;\n  byte *pbVar15;\n  undefined **ppuVar16;\n  uint uVar17;\n  byte *pbVar18;\n  char *pcVar19;\n  bool bVar20;\n  bool bVar21;\n  undefined1 uVar22;\n  bool bVar23;\n  undefined1 uVar24;\n  byte bVar25;\n  undefined8 uVar26;\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  bVar25 = 0;\n  uStack_14 = 0x11e919;\n  *param_9 = 0;\n  param_9[1] = 0;\n  apiStack_60[0] = param_5;\n  cVar4 = FUN_00117830(param_1,param_2,param_4);\n  ppiVar13 = apiStack_60 + 1;\n  ppiVar12 = apiStack_60 + 1;\n  if (cVar4 == '\0') {\n    return 0;\n  }\n  uVar17 = *(uint *)(DAT_004144e8 + 8);\n  if (uVar17 == 0) goto LAB_0011ef08;\n  if ((*(char *)(uVar17 + 0x318d) == '\0') ||\n     (uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0)) {\n    piVar10 = &DAT_004144e8;\n    if (*(char *)(uVar17 + 0x5871) != '\0') {\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }\n    ppiVar12[1] = piVar10;\n    ppiVar12[10] = ppiVar12[0x19];\n    ppiVar12[0xb] = ppiVar12[0x1a];\n    ppiVar12[-2] = (int *)local_34;\n    ppiVar12[-3] = ppiVar12[0x18] + 0x81;\n    ppiVar12[-4] = (int *)(ppiVar12 + 7);\n    ppiVar12[-5] = (int *)0x11e9c5;\n    FUN_001196a0();\n    piVar10 = ppiVar12[6];\n    ppiVar14 = ppiVar12 + -1;\n    if (piVar10 == ppiVar12[0x17] + 0x82) {\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }\n  }\n  else {\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);\n    ppiVar13 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }\nLAB_0011ea90:\n  piVar10 = (int *)ppiVar13[0x18][1];\n  piVar11 = *(int **)(*apiStack_60[1] + 8);\n  ppiVar13[1] = piVar10;\n  bVar8 = *(byte *)(piVar10 + 0x2b);\n  uVar17 = (uint)bVar8;\n  if (bVar8 != 0) {\n    if (piVar11 == (int *)0x0) goto LAB_0011ef08;\n    goto LAB_0011ebc2;\n  }\n  if (piVar11 == (int *)0x0) {\nLAB_0011ef08:\n    ppiVar13[0xffffffff] = (int *)uVar17;\n    ppiVar13[0xfffffffe] = (int *)"options";\n    ppiVar13[0xfffffffd] = (int *)0x5c;\n    ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    \n    ppiVar13[0xfffffffb] = (int *)0x11ef1e;\n    FUN_000da200();\n  }\n  bVar20 = false;\n  bVar23 = *(char *)((int)piVar11 + 0x318d) == '\0';\n  if (!bVar23) goto LAB_0011edf0;\n  iVar9 = 7;\n  pbVar15 = (byte *)".ctors.";\n  pbVar18 = (byte *)ppiVar13[0x1b];\n  do {\n    if (iVar9 == 0) break;\n    iVar9 = iVar9 + -1;\n    bVar20 = *pbVar15 < *pbVar18;\n    bVar23 = *pbVar15 == *pbVar18;\n    pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n    pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n  } while (bVar23);\n  bVar21 = false;\n  bVar20 = (!bVar20 && !bVar23) == bVar20;\n  if (bVar20) {\nLAB_0011eb78:\n    *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n    bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n    uVar17 = (uint)bVar8;\n    if (*(char *)((int)piVar11 + 0x3ced) == '\0') {\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }\n    if (bVar8 != 0) goto LAB_0011ebc2;\nLAB_0011eb9d:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\n    if (*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0') goto LAB_0011ee04;\n    if (cVar4 == '\0') {\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }\n  }\n  else {\n    iVar9 = 7;\n    pbVar15 = (byte *)".dtors.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar23 = false;\n    bVar20 = (!bVar21 && !bVar20) == bVar21;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".init_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar21 = false;\n    bVar20 = (!bVar23 && !bVar20) == bVar23;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".fini_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;\n    bVar20 = false;\n    bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';\n    if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }\nLAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;\nLAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\nLAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }\n  }\nLAB_0011ebc0:\n  uVar17 = 0;\nLAB_0011ebc2:\n  uVar1 = *(uint *)(iVar6 + 0x54);\n  *(uint *)((int)ppiVar13 + -4) = uVar17;\n  *(undefined4 *)((int)ppiVar13 + -8) = *(undefined4 *)((int)ppiVar13 + 0x78);\n  *(undefined4 *)((int)ppiVar13 + -0xc) = *(undefined4 *)((int)ppiVar13 + 0x70);\n  *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x6c);\n  *(undefined4 *)((int)ppiVar13 + -0x14) = *(undefined4 *)((int)ppiVar13 + 0x68);\n  *(undefined4 *)((int)ppiVar13 + -0x18) = *(undefined4 *)((int)ppiVar13 + 100);\n  *(undefined4 *)((int)ppiVar13 + -0x1c) = *(undefined4 *)((int)ppiVar13 + 0x60);\n  *(int *)((int)ppiVar13 + -0x20) = iVar6;\n  *(undefined4 *)((int)ppiVar13 + -0x24) = 0x11ebe4;\n  uVar26 = FUN_00191220();\n  **(undefined8 **)((int)ppiVar13 + 0x80) = uVar26;\n  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar13 + -8) = 0;\n    *(int *)((int)ppiVar13 + -0xc) = iVar6;\n    *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60);\n    *(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12;\n    uVar5 = FUN_00107cf0();\n    *(undefined4 *)(iVar6 + 0x5c) = uVar5;\n  }\n  *(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4) = 1;\n  return iVar6;\n}" primitive_type (function_declarator "FUN_0011e910(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  char cVar4;\n  undefined4 uVar5;\n  int iVar6;\n  size_t sVar7;\n  byte bVar8;\n  int iVar9;\n  int *piVar10;\n  int *piVar11;\n  int **ppiVar12;\n  int **ppiVar13;\n  int **ppiVar14;\n  byte *pbVar15;\n  undefined **ppuVar16;\n  uint uVar17;\n  byte *pbVar18;\n  char *pcVar19;\n  bool bVar20;\n  bool bVar21;\n  undefined1 uVar22;\n  bool bVar23;\n  undefined1 uVar24;\n  byte bVar25;\n  undefined8 uVar26;\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  bVar25 = 0;\n  uStack_14 = 0x11e919;\n  *param_9 = 0;\n  param_9[1] = 0;\n  apiStack_60[0] = param_5;\n  cVar4 = FUN_00117830(param_1,param_2,param_4);\n  ppiVar13 = apiStack_60 + 1;\n  ppiVar12 = apiStack_60 + 1;\n  if (cVar4 == '\0') {\n    return 0;\n  }\n  uVar17 = *(uint *)(DAT_004144e8 + 8);\n  if (uVar17 == 0) goto LAB_0011ef08;\n  if ((*(char *)(uVar17 + 0x318d) == '\0') ||\n     (uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0)) {\n    piVar10 = &DAT_004144e8;\n    if (*(char *)(uVar17 + 0x5871) != '\0') {\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }\n    ppiVar12[1] = piVar10;\n    ppiVar12[10] = ppiVar12[0x19];\n    ppiVar12[0xb] = ppiVar12[0x1a];\n    ppiVar12[-2] = (int *)local_34;\n    ppiVar12[-3] = ppiVar12[0x18] + 0x81;\n    ppiVar12[-4] = (int *)(ppiVar12 + 7);\n    ppiVar12[-5] = (int *)0x11e9c5;\n    FUN_001196a0();\n    piVar10 = ppiVar12[6];\n    ppiVar14 = ppiVar12 + -1;\n    if (piVar10 == ppiVar12[0x17] + 0x82) {\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }\n  }\n  else {\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);\n    ppiVar13 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }\nLAB_0011ea90:\n  piVar10 = (int *)ppiVar13[0x18][1];\n  piVar11 = *(int **)(*apiStack_60[1] + 8);\n  ppiVar13[1] = piVar10;\n  bVar8 = *(byte *)(piVar10 + 0x2b);\n  uVar17 = (uint)bVar8;\n  if (bVar8 != 0) {\n    if (piVar11 == (int *)0x0) goto LAB_0011ef08;\n    goto LAB_0011ebc2;\n  }\n  if (piVar11 == (int *)0x0) {\nLAB_0011ef08:\n    ppiVar13[0xffffffff] = (int *)uVar17;\n    ppiVar13[0xfffffffe] = (int *)"options";\n    ppiVar13[0xfffffffd] = (int *)0x5c;\n    ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    \n    ppiVar13[0xfffffffb] = (int *)0x11ef1e;\n    FUN_000da200();\n  }\n  bVar20 = false;\n  bVar23 = *(char *)((int)piVar11 + 0x318d) == '\0';\n  if (!bVar23) goto LAB_0011edf0;\n  iVar9 = 7;\n  pbVar15 = (byte *)".ctors.";\n  pbVar18 = (byte *)ppiVar13[0x1b];\n  do {\n    if (iVar9 == 0) break;\n    iVar9 = iVar9 + -1;\n    bVar20 = *pbVar15 < *pbVar18;\n    bVar23 = *pbVar15 == *pbVar18;\n    pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n    pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n  } while (bVar23);\n  bVar21 = false;\n  bVar20 = (!bVar20 && !bVar23) == bVar20;\n  if (bVar20) {\nLAB_0011eb78:\n    *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n    bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n    uVar17 = (uint)bVar8;\n    if (*(char *)((int)piVar11 + 0x3ced) == '\0') {\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }\n    if (bVar8 != 0) goto LAB_0011ebc2;\nLAB_0011eb9d:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\n    if (*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0') goto LAB_0011ee04;\n    if (cVar4 == '\0') {\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }\n  }\n  else {\n    iVar9 = 7;\n    pbVar15 = (byte *)".dtors.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar23 = false;\n    bVar20 = (!bVar21 && !bVar20) == bVar21;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".init_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar21 = false;\n    bVar20 = (!bVar23 && !bVar20) == bVar23;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".fini_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;\n    bVar20 = false;\n    bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';\n    if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }\nLAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;\nLAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\nLAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }\n  }\nLAB_0011ebc0:\n  uVar17 = 0;\nLAB_0011ebc2:\n  uVar1 = *(uint *)(iVar6 + 0x54);\n  *(uint *)((int)ppiVar13 + -4) = uVar17;\n  *(undefined4 *)((int)ppiVar13 + -8) = *(undefined4 *)((int)ppiVar13 + 0x78);\n  *(undefined4 *)((int)ppiVar13 + -0xc) = *(undefined4 *)((int)ppiVar13 + 0x70);\n  *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x6c);\n  *(undefined4 *)((int)ppiVar13 + -0x14) = *(undefined4 *)((int)ppiVar13 + 0x68);\n  *(undefined4 *)((int)ppiVar13 + -0x18) = *(undefined4 *)((int)ppiVar13 + 100);\n  *(undefined4 *)((int)ppiVar13 + -0x1c) = *(undefined4 *)((int)ppiVar13 + 0x60);\n  *(int *)((int)ppiVar13 + -0x20) = iVar6;\n  *(undefined4 *)((int)ppiVar13 + -0x24) = 0x11ebe4;\n  uVar26 = FUN_00191220();\n  **(undefined8 **)((int)ppiVar13 + 0x80) = uVar26;\n  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar13 + -8) = 0;\n    *(int *)((int)ppiVar13 + -0xc) = iVar6;\n    *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60);\n    *(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12;\n    uVar5 = FUN_00107cf0();\n    *(undefined4 *)(iVar6 + 0x5c) = uVar5;\n  }\n  *(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4) = 1;\n  return iVar6;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int **ppiVar12;" primitive_type (pointer_declarator "**ppiVar12" * (pointer_declarator "*ppiVar12" * identifier)) ;) (declaration "int **ppiVar13;" primitive_type (pointer_declarator "**ppiVar13" * (pointer_declarator "*ppiVar13" * identifier)) ;) (declaration "int **ppiVar14;" primitive_type (pointer_declarator "**ppiVar14" * (pointer_declarator "*ppiVar14" * identifier)) ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "undefined **ppuVar16;" type_identifier (pointer_declarator "**ppuVar16" * (pointer_declarator "*ppuVar16" * identifier)) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "bool bVar20;" primitive_type identifier ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "undefined1 uVar22;" type_identifier identifier ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "undefined1 uVar24;" type_identifier identifier ;) (declaration "byte bVar25;" type_identifier identifier ;) (declaration "undefined8 uVar26;" 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 "bVar25 = 0;" (assignment_expression "bVar25 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x11e919;" (assignment_expression "uStack_14 = 0x11e919" 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 "cVar4 = FUN_00117830(param_1,param_2,param_4);" (assignment_expression "cVar4 = FUN_00117830(param_1,param_2,param_4)" identifier = (call_expression "FUN_00117830(param_1,param_2,param_4)" identifier (argument_list "(param_1,param_2,param_4)" ( identifier , identifier , identifier )))) ;) (expression_statement "ppiVar13 = apiStack_60 + 1;" (assignment_expression "ppiVar13 = apiStack_60 + 1" identifier = (binary_expression "apiStack_60 + 1" identifier + number_literal)) ;) (expression_statement "ppiVar12 = apiStack_60 + 1;" (assignment_expression "ppiVar12 = apiStack_60 + 1" identifier = (binary_expression "apiStack_60 + 1" identifier + number_literal)) ;) (if_statement "if (cVar4 == '\0') {\n    return 0;\n  }" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar17 = *(uint *)(DAT_004144e8 + 8);" (assignment_expression "uVar17 = *(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 (uVar17 == 0) goto LAB_0011ef08;" if (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0011ef08;" goto statement_identifier ;)) (if_statement "if ((*(char *)(uVar17 + 0x318d) == '\0') ||\n     (uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0)) {\n    piVar10 = &DAT_004144e8;\n    if (*(char *)(uVar17 + 0x5871) != '\0') {\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }\n    ppiVar12[1] = piVar10;\n    ppiVar12[10] = ppiVar12[0x19];\n    ppiVar12[0xb] = ppiVar12[0x1a];\n    ppiVar12[-2] = (int *)local_34;\n    ppiVar12[-3] = ppiVar12[0x18] + 0x81;\n    ppiVar12[-4] = (int *)(ppiVar12 + 7);\n    ppiVar12[-5] = (int *)0x11e9c5;\n    FUN_001196a0();\n    piVar10 = ppiVar12[6];\n    ppiVar14 = ppiVar12 + -1;\n    if (piVar10 == ppiVar12[0x17] + 0x82) {\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }\n  }\n  else {\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);\n    ppiVar13 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }" if (parenthesized_expression "((*(char *)(uVar17 + 0x318d) == '\0') ||\n     (uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0))" ( (binary_expression "(*(char *)(uVar17 + 0x318d) == '\0') ||\n     (uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0)" (parenthesized_expression "(*(char *)(uVar17 + 0x318d) == '\0')" ( (binary_expression "*(char *)(uVar17 + 0x318d) == '\0'" (pointer_expression "*(char *)(uVar17 + 0x318d)" * (cast_expression "(char *)(uVar17 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar17 + 0x318d)" ( (binary_expression "uVar17 + 0x318d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0)" ( (comma_expression "uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0" (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) ))))) , (binary_expression "(uVar1 & 0x200) == 0" (parenthesized_expression "(uVar1 & 0x200)" ( (binary_expression "uVar1 & 0x200" identifier & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n    piVar10 = &DAT_004144e8;\n    if (*(char *)(uVar17 + 0x5871) != '\0') {\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }\n    ppiVar12[1] = piVar10;\n    ppiVar12[10] = ppiVar12[0x19];\n    ppiVar12[0xb] = ppiVar12[0x1a];\n    ppiVar12[-2] = (int *)local_34;\n    ppiVar12[-3] = ppiVar12[0x18] + 0x81;\n    ppiVar12[-4] = (int *)(ppiVar12 + 7);\n    ppiVar12[-5] = (int *)0x11e9c5;\n    FUN_001196a0();\n    piVar10 = ppiVar12[6];\n    ppiVar14 = ppiVar12 + -1;\n    if (piVar10 == ppiVar12[0x17] + 0x82) {\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }\n  }" { (expression_statement "piVar10 = &DAT_004144e8;" (assignment_expression "piVar10 = &DAT_004144e8" identifier = (pointer_expression "&DAT_004144e8" & identifier)) ;) (if_statement "if (*(char *)(uVar17 + 0x5871) != '\0') {\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }" if (parenthesized_expression "(*(char *)(uVar17 + 0x5871) != '\0')" ( (binary_expression "*(char *)(uVar17 + 0x5871) != '\0'" (pointer_expression "*(char *)(uVar17 + 0x5871)" * (cast_expression "(char *)(uVar17 + 0x5871)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar17 + 0x5871)" ( (binary_expression "uVar17 + 0x5871" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }" { (expression_statement "uVar22 = apiStack_60 + 1 < (int **)0x4;" (assignment_expression "uVar22 = 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 "uVar24 = &stack0x00000000 == (undefined1 *)0x60;" (assignment_expression "uVar24 = &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 "iVar6 = 0xe;" (assignment_expression "iVar6 = 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 "pbVar15 = (byte *)".text.unlikely";" (assignment_expression "pbVar15 = (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 "pbVar18 = (byte *)local_40[2];" (assignment_expression "pbVar18 = (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 (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);" do (compound_statement "{\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      }" { (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "uVar22 = *pbVar15 < *pbVar18;" (assignment_expression "uVar22 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "uVar24 = *pbVar15 == *pbVar18;" (assignment_expression "uVar24 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "((bool)uVar24)" ( (cast_expression "(bool)uVar24" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "ppiVar12 = apiStack_60;" (assignment_expression "ppiVar12 = apiStack_60" identifier = identifier) ;) (if_statement "if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }" if (parenthesized_expression "((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22)" ( (binary_expression "(!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22" (parenthesized_expression "(!(bool)uVar22 && !(bool)uVar24)" ( (binary_expression "!(bool)uVar22 && !(bool)uVar24" (unary_expression "!(bool)uVar22" ! (cast_expression "(bool)uVar22" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar24" ! (cast_expression "(bool)uVar24" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar22" ( (type_descriptor "bool" primitive_type) ) identifier)) )) (compound_statement "{\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\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 "ppiVar14 = apiStack_60;" (assignment_expression "ppiVar14 = apiStack_60" identifier = identifier) ;) (if_statement "if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;" 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_0011efcb;" goto statement_identifier ;)) (expression_statement "uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;" (assignment_expression "uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f" identifier = (binary_expression "*(uint *)(*param_4 + 8) & 0xfffff50f" (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) )))) & number_literal)) ;) (if_statement "if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 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          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }" { (expression_statement "uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;" (assignment_expression "uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f" identifier = (binary_expression "*(uint *)(*param_4 + 8) & 0xfffff58f" (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) )))) & number_literal)) ;) })) (expression_statement "uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);" (assignment_expression "uVar5 = 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 "iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);" (assignment_expression "iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0)" identifier = (call_expression "FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0)" identifier (argument_list "(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0)" ( identifier , identifier , (subscript_expression "local_40[2]" identifier [ number_literal ]) , identifier , identifier , number_literal , number_literal , number_literal )))) ;) (expression_statement "ppiVar13 = apiStack_60;" (assignment_expression "ppiVar13 = apiStack_60" identifier = identifier) ;) (expression_statement "*(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;" (assignment_expression "*(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar6 + 0x92)" * (cast_expression "(byte *)(iVar6 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x92)" ( (binary_expression "iVar6 + 0x92" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar6 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar6 + 0x92)" * (cast_expression "(byte *)(iVar6 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x92)" ( (binary_expression "iVar6 + 0x92" identifier + number_literal) )))) | number_literal)) ;) (goto_statement "goto LAB_0011ea90;" goto statement_identifier ;) })) (expression_statement "piVar10 = apiStack_60[1];" (assignment_expression "piVar10 = 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        ppiVar12 = apiStack_60;\n        piVar10 = 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        ppiVar12 = apiStack_60;\n        piVar10 = 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 "ppiVar12 = apiStack_60;" (assignment_expression "ppiVar12 = apiStack_60" identifier = identifier) ;) (expression_statement "piVar10 = apiStack_60[1];" (assignment_expression "piVar10 = apiStack_60[1]" identifier = (subscript_expression "apiStack_60[1]" identifier [ number_literal ])) ;) })) })) (expression_statement "ppiVar12[1] = piVar10;" (assignment_expression "ppiVar12[1] = piVar10" (subscript_expression "ppiVar12[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppiVar12[10] = ppiVar12[0x19];" (assignment_expression "ppiVar12[10] = ppiVar12[0x19]" (subscript_expression "ppiVar12[10]" identifier [ number_literal ]) = (subscript_expression "ppiVar12[0x19]" identifier [ number_literal ])) ;) (expression_statement "ppiVar12[0xb] = ppiVar12[0x1a];" (assignment_expression "ppiVar12[0xb] = ppiVar12[0x1a]" (subscript_expression "ppiVar12[0xb]" identifier [ number_literal ]) = (subscript_expression "ppiVar12[0x1a]" identifier [ number_literal ])) ;) (expression_statement "ppiVar12[-2] = (int *)local_34;" (assignment_expression "ppiVar12[-2] = (int *)local_34" (subscript_expression "ppiVar12[-2]" identifier [ number_literal ]) = (cast_expression "(int *)local_34" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar12[-3] = ppiVar12[0x18] + 0x81;" (assignment_expression "ppiVar12[-3] = ppiVar12[0x18] + 0x81" (subscript_expression "ppiVar12[-3]" identifier [ number_literal ]) = (binary_expression "ppiVar12[0x18] + 0x81" (subscript_expression "ppiVar12[0x18]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "ppiVar12[-4] = (int *)(ppiVar12 + 7);" (assignment_expression "ppiVar12[-4] = (int *)(ppiVar12 + 7)" (subscript_expression "ppiVar12[-4]" identifier [ number_literal ]) = (cast_expression "(int *)(ppiVar12 + 7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar12 + 7)" ( (binary_expression "ppiVar12 + 7" identifier + number_literal) )))) ;) (expression_statement "ppiVar12[-5] = (int *)0x11e9c5;" (assignment_expression "ppiVar12[-5] = (int *)0x11e9c5" (subscript_expression "ppiVar12[-5]" identifier [ number_literal ]) = (cast_expression "(int *)0x11e9c5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_001196a0();" (call_expression "FUN_001196a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar10 = ppiVar12[6];" (assignment_expression "piVar10 = ppiVar12[6]" identifier = (subscript_expression "ppiVar12[6]" identifier [ number_literal ])) ;) (expression_statement "ppiVar14 = ppiVar12 + -1;" (assignment_expression "ppiVar14 = ppiVar12 + -1" identifier = (binary_expression "ppiVar12 + -1" identifier + number_literal)) ;) (if_statement "if (piVar10 == ppiVar12[0x17] + 0x82) {\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }" if (parenthesized_expression "(piVar10 == ppiVar12[0x17] + 0x82)" ( (binary_expression "piVar10 == ppiVar12[0x17] + 0x82" identifier == (binary_expression "ppiVar12[0x17] + 0x82" (subscript_expression "ppiVar12[0x17]" identifier [ number_literal ]) + number_literal)) )) (compound_statement "{\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }" { (expression_statement "ppiVar12[-3] = (int *)0x1;" (assignment_expression "ppiVar12[-3] = (int *)0x1" (subscript_expression "ppiVar12[-3]" identifier [ number_literal ]) = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12[-4] = (int *)0x0;" (assignment_expression "ppiVar12[-4] = (int *)0x0" (subscript_expression "ppiVar12[-4]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12[-5] = (int *)0x0;" (assignment_expression "ppiVar12[-5] = (int *)0x0" (subscript_expression "ppiVar12[-5]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12[-6] = (int *)0x0;" (assignment_expression "ppiVar12[-6] = (int *)0x0" (subscript_expression "ppiVar12[-6]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12[-7] = (int *)0x1;" (assignment_expression "ppiVar12[-7] = (int *)0x1" (subscript_expression "ppiVar12[-7]" identifier [ number_literal ]) = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);" (assignment_expression "uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8)" identifier = (pointer_expression "*(undefined4 *)(*ppiVar12[0x1b] + 8)" * (cast_expression "(undefined4 *)(*ppiVar12[0x1b] + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppiVar12[0x1b] + 8)" ( (binary_expression "*ppiVar12[0x1b] + 8" (pointer_expression "*ppiVar12[0x1b]" * (subscript_expression "ppiVar12[0x1b]" identifier [ number_literal ])) + number_literal) ))))) ;) (expression_statement "ppiVar12[-8] = (int *)0x0;" (assignment_expression "ppiVar12[-8] = (int *)0x0" (subscript_expression "ppiVar12[-8]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12[-9] = (int *)uVar5;" (assignment_expression "ppiVar12[-9] = (int *)uVar5" (subscript_expression "ppiVar12[-9]" identifier [ number_literal ]) = (cast_expression "(int *)uVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar12[-10] = ppiVar12[0x1c];" (assignment_expression "ppiVar12[-10] = ppiVar12[0x1c]" (subscript_expression "ppiVar12[-10]" identifier [ number_literal ]) = (subscript_expression "ppiVar12[0x1c]" identifier [ number_literal ])) ;) (expression_statement "ppiVar12[-0xb] = ppiVar12[0x1a];" (assignment_expression "ppiVar12[-0xb] = ppiVar12[0x1a]" (subscript_expression "ppiVar12[-0xb]" identifier [ number_literal ]) = (subscript_expression "ppiVar12[0x1a]" identifier [ number_literal ])) ;) (expression_statement "ppiVar12[-0xc] = ppiVar12[0x18];" (assignment_expression "ppiVar12[-0xc] = ppiVar12[0x18]" (subscript_expression "ppiVar12[-0xc]" identifier [ number_literal ]) = (subscript_expression "ppiVar12[0x18]" identifier [ number_literal ])) ;) (expression_statement "ppiVar12[-0xd] = ppiVar12[0x17];" (assignment_expression "ppiVar12[-0xd] = ppiVar12[0x17]" (subscript_expression "ppiVar12[-0xd]" identifier [ number_literal ]) = (subscript_expression "ppiVar12[0x17]" identifier [ number_literal ])) ;) (expression_statement "ppiVar12[-0xe] = (int *)0x11ed4e;" (assignment_expression "ppiVar12[-0xe] = (int *)0x11ed4e" (subscript_expression "ppiVar12[-0xe]" identifier [ number_literal ]) = (cast_expression "(int *)0x11ed4e" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar6 = FUN_00110ae0();" (assignment_expression "iVar6 = FUN_00110ae0()" identifier = (call_expression "FUN_00110ae0()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppiVar13 = ppiVar12 + -1;" (assignment_expression "ppiVar13 = ppiVar12 + -1" identifier = (binary_expression "ppiVar12 + -1" identifier + number_literal)) ;) (expression_statement "apiStack_60[1] = *ppiVar12;" (assignment_expression "apiStack_60[1] = *ppiVar12" (subscript_expression "apiStack_60[1]" identifier [ number_literal ]) = (pointer_expression "*ppiVar12" * identifier)) ;) (if_statement "if (iVar6 == 0) {\n        return 0;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) }) (else_clause "else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }" else (compound_statement "{\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }" { (expression_statement "iVar6 = *(int *)(**ppiVar12 + 8);" (assignment_expression "iVar6 = *(int *)(**ppiVar12 + 8)" identifier = (pointer_expression "*(int *)(**ppiVar12 + 8)" * (cast_expression "(int *)(**ppiVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**ppiVar12 + 8)" ( (binary_expression "**ppiVar12 + 8" (pointer_expression "**ppiVar12" * (pointer_expression "*ppiVar12" * identifier)) + number_literal) ))))) ;) (if_statement "if (iVar6 == 0) {\nLAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }" { (labeled_statement "LAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;" statement_identifier : (expression_statement "*(code **)((int)ppiVar14 + -4) = FUN_0011efd0;" (assignment_expression "*(code **)((int)ppiVar14 + -4) = FUN_0011efd0" (pointer_expression "*(code **)((int)ppiVar14 + -4)" * (cast_expression "(code **)((int)ppiVar14 + -4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar14 + -4)" ( (binary_expression "(int)ppiVar14 + -4" (cast_expression "(int)ppiVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "FUN_00106b00();" (call_expression "FUN_00106b00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;" (assignment_expression "uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f" identifier = (binary_expression "*(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f" (pointer_expression "*(uint *)(*ppiVar12[0x1b] + 8)" * (cast_expression "(uint *)(*ppiVar12[0x1b] + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppiVar12[0x1b] + 8)" ( (binary_expression "*ppiVar12[0x1b] + 8" (pointer_expression "*ppiVar12[0x1b]" * (subscript_expression "ppiVar12[0x1b]" identifier [ number_literal ])) + number_literal) )))) & number_literal)) ;) (if_statement "if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }" if (parenthesized_expression "(*(char *)(iVar6 + 0x318d) != '\0')" ( (binary_expression "*(char *)(iVar6 + 0x318d) != '\0'" (pointer_expression "*(char *)(iVar6 + 0x318d)" * (cast_expression "(char *)(iVar6 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x318d)" ( (binary_expression "iVar6 + 0x318d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }" { (expression_statement "uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;" (assignment_expression "uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f" identifier = (binary_expression "*(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f" (pointer_expression "*(uint *)(*ppiVar12[0x1b] + 8)" * (cast_expression "(uint *)(*ppiVar12[0x1b] + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppiVar12[0x1b] + 8)" ( (binary_expression "*ppiVar12[0x1b] + 8" (pointer_expression "*ppiVar12[0x1b]" * (subscript_expression "ppiVar12[0x1b]" identifier [ number_literal ])) + number_literal) )))) & number_literal)) ;) })) (expression_statement "puVar2 = (undefined4 *)piVar10[6];" (assignment_expression "puVar2 = (undefined4 *)piVar10[6]" identifier = (cast_expression "(undefined4 *)piVar10[6]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar10[6]" identifier [ number_literal ]))) ;) (expression_statement "*ppiVar12 = *ppiVar12;" (assignment_expression "*ppiVar12 = *ppiVar12" (pointer_expression "*ppiVar12" * identifier) = (pointer_expression "*ppiVar12" * identifier)) ;) (expression_statement "ppiVar12[-2] = (int *)local_34;" (assignment_expression "ppiVar12[-2] = (int *)local_34" (subscript_expression "ppiVar12[-2]" identifier [ number_literal ]) = (cast_expression "(int *)local_34" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar12[-3] = (int *)0x1;" (assignment_expression "ppiVar12[-3] = (int *)0x1" (subscript_expression "ppiVar12[-3]" identifier [ number_literal ]) = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12[-4] = (int *)*puVar2;" (assignment_expression "ppiVar12[-4] = (int *)*puVar2" (subscript_expression "ppiVar12[-4]" identifier [ number_literal ]) = (cast_expression "(int *)*puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier))) ;) (expression_statement "ppiVar12[-5] = ppiVar12[0x17] + 2;" (assignment_expression "ppiVar12[-5] = ppiVar12[0x17] + 2" (subscript_expression "ppiVar12[-5]" identifier [ number_literal ]) = (binary_expression "ppiVar12[0x17] + 2" (subscript_expression "ppiVar12[0x17]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "ppiVar12[-6] = (int *)0x11ea2b;" (assignment_expression "ppiVar12[-6] = (int *)0x11ea2b" (subscript_expression "ppiVar12[-6]" identifier [ number_literal ]) = (cast_expression "(int *)0x11ea2b" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar5 = FUN_001e3f80();" (assignment_expression "uVar5 = FUN_001e3f80()" identifier = (call_expression "FUN_001e3f80()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppiVar12[-2] = (int *)0x0;" (assignment_expression "ppiVar12[-2] = (int *)0x0" (subscript_expression "ppiVar12[-2]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12[-3] = (int *)0x0;" (assignment_expression "ppiVar12[-3] = (int *)0x0" (subscript_expression "ppiVar12[-3]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12[-4] = (int *)0x0;" (assignment_expression "ppiVar12[-4] = (int *)0x0" (subscript_expression "ppiVar12[-4]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12[-5] = (int *)uVar17;" (assignment_expression "ppiVar12[-5] = (int *)uVar17" (subscript_expression "ppiVar12[-5]" identifier [ number_literal ]) = (cast_expression "(int *)uVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar12[-6] = ppiVar12[0x1c];" (assignment_expression "ppiVar12[-6] = ppiVar12[0x1c]" (subscript_expression "ppiVar12[-6]" identifier [ number_literal ]) = (subscript_expression "ppiVar12[0x1c]" identifier [ number_literal ])) ;) (expression_statement "ppiVar12[-7] = ppiVar12[9];" (assignment_expression "ppiVar12[-7] = ppiVar12[9]" (subscript_expression "ppiVar12[-7]" identifier [ number_literal ]) = (subscript_expression "ppiVar12[9]" identifier [ number_literal ])) ;) (expression_statement "ppiVar12[-8] = (int *)uVar5;" (assignment_expression "ppiVar12[-8] = (int *)uVar5" (subscript_expression "ppiVar12[-8]" identifier [ number_literal ]) = (cast_expression "(int *)uVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar12[-9] = ppiVar12[0x17];" (assignment_expression "ppiVar12[-9] = ppiVar12[0x17]" (subscript_expression "ppiVar12[-9]" identifier [ number_literal ]) = (subscript_expression "ppiVar12[0x17]" identifier [ number_literal ])) ;) (expression_statement "ppiVar12[-10] = (int *)0x11ea49;" (assignment_expression "ppiVar12[-10] = (int *)0x11ea49" (subscript_expression "ppiVar12[-10]" identifier [ number_literal ]) = (cast_expression "(int *)0x11ea49" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar6 = FUN_00110850();" (assignment_expression "iVar6 = FUN_00110850()" identifier = (call_expression "FUN_00110850()" identifier (argument_list "()" ( )))) ;) (expression_statement "apiStack_60[1] = *ppiVar12;" (assignment_expression "apiStack_60[1] = *ppiVar12" (subscript_expression "apiStack_60[1]" identifier [ number_literal ]) = (pointer_expression "*ppiVar12" * identifier)) ;) (expression_statement "ppiVar13 = ppiVar12 + -1;" (assignment_expression "ppiVar13 = ppiVar12 + -1" identifier = (binary_expression "ppiVar12 + -1" identifier + number_literal)) ;) (if_statement "if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }" if (parenthesized_expression "(-1 < (char)*(byte *)(iVar6 + 0x92))" ( (binary_expression "-1 < (char)*(byte *)(iVar6 + 0x92)" number_literal < (cast_expression "(char)*(byte *)(iVar6 + 0x92)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)(iVar6 + 0x92)" * (cast_expression "(byte *)(iVar6 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x92)" ( (binary_expression "iVar6 + 0x92" identifier + number_literal) )))))) )) (compound_statement "{\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }" { (expression_statement "*(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;" (assignment_expression "*(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar6 + 0x92)" * (cast_expression "(byte *)(iVar6 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x92)" ( (binary_expression "iVar6 + 0x92" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar6 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar6 + 0x92)" * (cast_expression "(byte *)(iVar6 + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x92)" ( (binary_expression "iVar6 + 0x92" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "iVar9 = piVar10[6];" (assignment_expression "iVar9 = piVar10[6]" identifier = (subscript_expression "piVar10[6]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = *(undefined4 *)(iVar9 + 8);" (assignment_expression "uVar5 = *(undefined4 *)(iVar9 + 8)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 8)" * (cast_expression "(undefined4 *)(iVar9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 8)" ( (binary_expression "iVar9 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);" (assignment_expression "*(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4)" (pointer_expression "*(undefined4 *)(iVar6 + 0x9c)" * (cast_expression "(undefined4 *)(iVar6 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x9c)" ( (binary_expression "iVar6 + 0x9c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 4)" * (cast_expression "(undefined4 *)(iVar9 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(undefined4 *)(iVar9 + 0xc);" (assignment_expression "uVar3 = *(undefined4 *)(iVar9 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0xc)" * (cast_expression "(undefined4 *)(iVar9 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0xa0) = uVar5;" (assignment_expression "*(undefined4 *)(iVar6 + 0xa0) = uVar5" (pointer_expression "*(undefined4 *)(iVar6 + 0xa0)" * (cast_expression "(undefined4 *)(iVar6 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xa0)" ( (binary_expression "iVar6 + 0xa0" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar5 = *(undefined4 *)(iVar9 + 0x10);" (assignment_expression "uVar5 = *(undefined4 *)(iVar9 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0x10)" * (cast_expression "(undefined4 *)(iVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0xa4) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + 0xa4) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + 0xa4)" * (cast_expression "(undefined4 *)(iVar6 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xa4)" ( (binary_expression "iVar6 + 0xa4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar6 + 0xa8) = uVar5;" (assignment_expression "*(undefined4 *)(iVar6 + 0xa8) = uVar5" (pointer_expression "*(undefined4 *)(iVar6 + 0xa8)" * (cast_expression "(undefined4 *)(iVar6 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xa8)" ( (binary_expression "iVar6 + 0xa8" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppiVar13 = ppiVar12 + -1;" (assignment_expression "ppiVar13 = ppiVar12 + -1" identifier = (binary_expression "ppiVar12 + -1" identifier + number_literal)) ;) })) }))) }) (else_clause "else {\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);\n    ppiVar13 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }" else (compound_statement "{\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);\n    ppiVar13 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }" { (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 "uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);" (assignment_expression "uVar5 = 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 "iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);" (assignment_expression "iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0)" identifier = (call_expression "FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0)" identifier (argument_list "(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0)" ( identifier , identifier , identifier , (binary_expression "uVar1 & 0xfffff7ff" identifier & number_literal) , number_literal , number_literal , number_literal )))) ;) (expression_statement "ppiVar13 = apiStack_60 + 1;" (assignment_expression "ppiVar13 = 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_0011ea90:\n  piVar10 = (int *)ppiVar13[0x18][1];" statement_identifier : (expression_statement "piVar10 = (int *)ppiVar13[0x18][1];" (assignment_expression "piVar10 = (int *)ppiVar13[0x18][1]" identifier = (cast_expression "(int *)ppiVar13[0x18][1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x18][1]" (subscript_expression "ppiVar13[0x18]" identifier [ number_literal ]) [ number_literal ]))) ;)) (expression_statement "piVar11 = *(int **)(*apiStack_60[1] + 8);" (assignment_expression "piVar11 = *(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 "ppiVar13[1] = piVar10;" (assignment_expression "ppiVar13[1] = piVar10" (subscript_expression "ppiVar13[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar8 = *(byte *)(piVar10 + 0x2b);" (assignment_expression "bVar8 = *(byte *)(piVar10 + 0x2b)" identifier = (pointer_expression "*(byte *)(piVar10 + 0x2b)" * (cast_expression "(byte *)(piVar10 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10 + 0x2b)" ( (binary_expression "piVar10 + 0x2b" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = (uint)bVar8;" (assignment_expression "uVar17 = (uint)bVar8" identifier = (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (bVar8 != 0) {\n    if (piVar11 == (int *)0x0) goto LAB_0011ef08;\n    goto LAB_0011ebc2;\n  }" if (parenthesized_expression "(bVar8 != 0)" ( (binary_expression "bVar8 != 0" identifier != number_literal) )) (compound_statement "{\n    if (piVar11 == (int *)0x0) goto LAB_0011ef08;\n    goto LAB_0011ebc2;\n  }" { (if_statement "if (piVar11 == (int *)0x0) goto LAB_0011ef08;" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0011ef08;" goto statement_identifier ;)) (goto_statement "goto LAB_0011ebc2;" goto statement_identifier ;) })) (if_statement "if (piVar11 == (int *)0x0) {\nLAB_0011ef08:\n    ppiVar13[0xffffffff] = (int *)uVar17;\n    ppiVar13[0xfffffffe] = (int *)"options";\n    ppiVar13[0xfffffffd] = (int *)0x5c;\n    ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    \n    ppiVar13[0xfffffffb] = (int *)0x11ef1e;\n    FUN_000da200();\n  }" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0011ef08:\n    ppiVar13[0xffffffff] = (int *)uVar17;\n    ppiVar13[0xfffffffe] = (int *)"options";\n    ppiVar13[0xfffffffd] = (int *)0x5c;\n    ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    \n    ppiVar13[0xfffffffb] = (int *)0x11ef1e;\n    FUN_000da200();\n  }" { (labeled_statement "LAB_0011ef08:\n    ppiVar13[0xffffffff] = (int *)uVar17;" statement_identifier : (expression_statement "ppiVar13[0xffffffff] = (int *)uVar17;" (assignment_expression "ppiVar13[0xffffffff] = (int *)uVar17" (subscript_expression "ppiVar13[0xffffffff]" identifier [ number_literal ]) = (cast_expression "(int *)uVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "ppiVar13[0xfffffffe] = (int *)"options";" (assignment_expression "ppiVar13[0xfffffffe] = (int *)"options"" (subscript_expression "ppiVar13[0xfffffffe]" identifier [ number_literal ]) = (cast_expression "(int *)"options"" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (string_literal ""options"" " string_content "))) ;) (expression_statement "ppiVar13[0xfffffffd] = (int *)0x5c;" (assignment_expression "ppiVar13[0xfffffffd] = (int *)0x5c" (subscript_expression "ppiVar13[0xfffffffd]" identifier [ number_literal ]) = (cast_expression "(int *)0x5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h";" (assignment_expression "ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h"" (subscript_expression "ppiVar13[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 "ppiVar13[0xfffffffb] = (int *)0x11ef1e;" (assignment_expression "ppiVar13[0xfffffffb] = (int *)0x11ef1e" (subscript_expression "ppiVar13[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(int *)0x11ef1e" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar20 = false;" (assignment_expression "bVar20 = false" identifier = false) ;) (expression_statement "bVar23 = *(char *)((int)piVar11 + 0x318d) == '\0';" (assignment_expression "bVar23 = *(char *)((int)piVar11 + 0x318d) == '\0'" identifier = (binary_expression "*(char *)((int)piVar11 + 0x318d) == '\0'" (pointer_expression "*(char *)((int)piVar11 + 0x318d)" * (cast_expression "(char *)((int)piVar11 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 0x318d)" ( (binary_expression "(int)piVar11 + 0x318d" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar23) goto LAB_0011edf0;" if (parenthesized_expression "(!bVar23)" ( (unary_expression "!bVar23" ! identifier) )) (goto_statement "goto LAB_0011edf0;" goto statement_identifier ;)) (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)".ctors.";" (assignment_expression "pbVar15 = (byte *)".ctors."" identifier = (cast_expression "(byte *)".ctors."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".ctors."" " string_content "))) ;) (expression_statement "pbVar18 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n    if (iVar9 == 0) break;\n    iVar9 = iVar9 + -1;\n    bVar20 = *pbVar15 < *pbVar18;\n    bVar23 = *pbVar15 == *pbVar18;\n    pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n    pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n  } while (bVar23);" do (compound_statement "{\n    if (iVar9 == 0) break;\n    iVar9 = iVar9 + -1;\n    bVar20 = *pbVar15 < *pbVar18;\n    bVar23 = *pbVar15 == *pbVar18;\n    pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n    pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n  }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar20 = *pbVar15 < *pbVar18;" (assignment_expression "bVar20 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar23 = *pbVar15 == *pbVar18;" (assignment_expression "bVar23 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar23)" ( identifier )) ;) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "bVar20 = (!bVar20 && !bVar23) == bVar20;" (assignment_expression "bVar20 = (!bVar20 && !bVar23) == bVar20" identifier = (binary_expression "(!bVar20 && !bVar23) == bVar20" (parenthesized_expression "(!bVar20 && !bVar23)" ( (binary_expression "!bVar20 && !bVar23" (unary_expression "!bVar20" ! identifier) && (unary_expression "!bVar23" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar20) {\nLAB_0011eb78:\n    *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n    bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n    uVar17 = (uint)bVar8;\n    if (*(char *)((int)piVar11 + 0x3ced) == '\0') {\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }\n    if (bVar8 != 0) goto LAB_0011ebc2;\nLAB_0011eb9d:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\n    if (*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0') goto LAB_0011ee04;\n    if (cVar4 == '\0') {\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }\n  }\n  else {\n    iVar9 = 7;\n    pbVar15 = (byte *)".dtors.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar23 = false;\n    bVar20 = (!bVar21 && !bVar20) == bVar21;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".init_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar21 = false;\n    bVar20 = (!bVar23 && !bVar20) == bVar23;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".fini_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;\n    bVar20 = false;\n    bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';\n    if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }\nLAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;\nLAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\nLAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }\n  }" if (parenthesized_expression "(bVar20)" ( identifier )) (compound_statement "{\nLAB_0011eb78:\n    *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n    bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n    uVar17 = (uint)bVar8;\n    if (*(char *)((int)piVar11 + 0x3ced) == '\0') {\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }\n    if (bVar8 != 0) goto LAB_0011ebc2;\nLAB_0011eb9d:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\n    if (*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0') goto LAB_0011ee04;\n    if (cVar4 == '\0') {\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }\n  }" { (labeled_statement "LAB_0011eb78:\n    *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;" statement_identifier : (expression_statement "*(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;" (assignment_expression "*(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8" (pointer_expression "*(byte *)(iVar6 + 0x91)" * (cast_expression "(byte *)(iVar6 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x91)" ( (binary_expression "iVar6 + 0x91" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar6 + 0x91) | 8" (pointer_expression "*(byte *)(iVar6 + 0x91)" * (cast_expression "(byte *)(iVar6 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x91)" ( (binary_expression "iVar6 + 0x91" identifier + number_literal) )))) | number_literal)) ;)) (expression_statement "bVar8 = *(byte *)(ppiVar13[1] + 0x2b);" (assignment_expression "bVar8 = *(byte *)(ppiVar13[1] + 0x2b)" identifier = (pointer_expression "*(byte *)(ppiVar13[1] + 0x2b)" * (cast_expression "(byte *)(ppiVar13[1] + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar13[1] + 0x2b)" ( (binary_expression "ppiVar13[1] + 0x2b" (subscript_expression "ppiVar13[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "uVar17 = (uint)bVar8;" (assignment_expression "uVar17 = (uint)bVar8" identifier = (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (*(char *)((int)piVar11 + 0x3ced) == '\0') {\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }" if (parenthesized_expression "(*(char *)((int)piVar11 + 0x3ced) == '\0')" ( (binary_expression "*(char *)((int)piVar11 + 0x3ced) == '\0'" (pointer_expression "*(char *)((int)piVar11 + 0x3ced)" * (cast_expression "(char *)((int)piVar11 + 0x3ced)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 0x3ced)" ( (binary_expression "(int)piVar11 + 0x3ced" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }" { (labeled_statement "LAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;" statement_identifier : (if_statement "if (bVar8 != 0) goto LAB_0011ebc2;" if (parenthesized_expression "(bVar8 != 0)" ( (binary_expression "bVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011ebc2;" goto statement_identifier ;))) (goto_statement "goto LAB_0011edfd;" goto statement_identifier ;) })) (if_statement "if (bVar8 != 0) goto LAB_0011ebc2;" if (parenthesized_expression "(bVar8 != 0)" ( (binary_expression "bVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011ebc2;" goto statement_identifier ;)) (labeled_statement "LAB_0011eb9d:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);" statement_identifier : (expression_statement "cVar4 = *(char *)((int)piVar11 + 0x318d);" (assignment_expression "cVar4 = *(char *)((int)piVar11 + 0x318d)" identifier = (pointer_expression "*(char *)((int)piVar11 + 0x318d)" * (cast_expression "(char *)((int)piVar11 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 0x318d)" ( (binary_expression "(int)piVar11 + 0x318d" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (if_statement "if (*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0') goto LAB_0011ee04;" if (parenthesized_expression "(*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0')" ( (binary_expression "*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0'" (pointer_expression "*(char *)((int)ppiVar13[0x18] + 0x1cd)" * (cast_expression "(char *)((int)ppiVar13[0x18] + 0x1cd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13[0x18] + 0x1cd)" ( (binary_expression "(int)ppiVar13[0x18] + 0x1cd" (cast_expression "(int)ppiVar13[0x18]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppiVar13[0x18]" identifier [ number_literal ])) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0011ee04;" goto statement_identifier ;)) (if_statement "if (cVar4 == '\0') {\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }" { (expression_statement "ppiVar13[3] = piVar11;" (assignment_expression "ppiVar13[3] = piVar11" (subscript_expression "ppiVar13[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppuVar16 = &PTR_s__text_unlikely_00407080;" (assignment_expression "ppuVar16 = &PTR_s__text_unlikely_00407080" identifier = (pointer_expression "&PTR_s__text_unlikely_00407080" & identifier)) ;) (expression_statement "ppiVar13[2] = (int *)&PTR_s_aranges_00407090;" (assignment_expression "ppiVar13[2] = (int *)&PTR_s_aranges_00407090" (subscript_expression "ppiVar13[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 "pcVar19 = ".text.unlikely";" (assignment_expression "pcVar19 = ".text.unlikely"" identifier = (string_literal "".text.unlikely"" " string_content ")) ;) (expression_statement "sVar7 = 0xe;" (assignment_expression "sVar7 = 0xe" identifier = number_literal) ;) (while_statement "while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }" { (expression_statement "ppiVar13[0xfffffffe] = (int *)sVar7;" (assignment_expression "ppiVar13[0xfffffffe] = (int *)sVar7" (subscript_expression "ppiVar13[0xfffffffe]" identifier [ number_literal ]) = (cast_expression "(int *)sVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar13[0xfffffffd] = ppiVar13[0x1b];" (assignment_expression "ppiVar13[0xfffffffd] = ppiVar13[0x1b]" (subscript_expression "ppiVar13[0xfffffffd]" identifier [ number_literal ]) = (subscript_expression "ppiVar13[0x1b]" identifier [ number_literal ])) ;) (expression_statement "ppiVar13[0xfffffffc] = (int *)pcVar19;" (assignment_expression "ppiVar13[0xfffffffc] = (int *)pcVar19" (subscript_expression "ppiVar13[0xfffffffc]" identifier [ number_literal ]) = (cast_expression "(int *)pcVar19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar13[0xfffffffb] = (int *)0x11ef7d;" (assignment_expression "ppiVar13[0xfffffffb] = (int *)0x11ef7d" (subscript_expression "ppiVar13[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(int *)0x11ef7d" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);" (assignment_expression "iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe])" identifier = (call_expression "strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe])" identifier (argument_list "((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe])" ( (cast_expression "(char *)ppiVar13[0xfffffffc]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0xfffffffc]" identifier [ number_literal ])) , (cast_expression "(char *)ppiVar13[0xfffffffd]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0xfffffffd]" identifier [ number_literal ])) , (cast_expression "(size_t)ppiVar13[0xfffffffe]" ( (type_descriptor "size_t" primitive_type) ) (subscript_expression "ppiVar13[0xfffffffe]" identifier [ number_literal ])) )))) ;) (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "ppuVar16 = ppuVar16 + 1;" (assignment_expression "ppuVar16 = ppuVar16 + 1" identifier = (binary_expression "ppuVar16 + 1" identifier + number_literal)) ;) (if_statement "if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;" if (parenthesized_expression "((undefined **)ppiVar13[2] == ppuVar16)" ( (binary_expression "(undefined **)ppiVar13[2] == ppuVar16" (cast_expression "(undefined **)ppiVar13[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppiVar13[2]" identifier [ number_literal ])) == identifier) )) (goto_statement "goto LAB_0011ee0c;" goto statement_identifier ;)) (expression_statement "pcVar19 = *ppuVar16;" (assignment_expression "pcVar19 = *ppuVar16" identifier = (pointer_expression "*ppuVar16" * identifier)) ;) (expression_statement "ppiVar13[0xfffffffc] = (int *)pcVar19;" (assignment_expression "ppiVar13[0xfffffffc] = (int *)pcVar19" (subscript_expression "ppiVar13[0xfffffffc]" identifier [ number_literal ]) = (cast_expression "(int *)pcVar19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppiVar13[0xfffffffb] = (int *)0x11ef9c;" (assignment_expression "ppiVar13[0xfffffffb] = (int *)0x11ef9c" (subscript_expression "ppiVar13[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(int *)0x11ef9c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar7 = strlen((char *)ppiVar13[0xfffffffc]);" (assignment_expression "sVar7 = strlen((char *)ppiVar13[0xfffffffc])" identifier = (call_expression "strlen((char *)ppiVar13[0xfffffffc])" identifier (argument_list "((char *)ppiVar13[0xfffffffc])" ( (cast_expression "(char *)ppiVar13[0xfffffffc]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0xfffffffc]" identifier [ number_literal ])) )))) ;) })) (expression_statement "piVar11 = ppiVar13[3];" (assignment_expression "piVar11 = ppiVar13[3]" identifier = (subscript_expression "ppiVar13[3]" identifier [ number_literal ])) ;) (expression_statement "*(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;" (assignment_expression "*(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8" (pointer_expression "*(byte *)(iVar6 + 0x91)" * (cast_expression "(byte *)(iVar6 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x91)" ( (binary_expression "iVar6 + 0x91" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar6 + 0x91) | 8" (pointer_expression "*(byte *)(iVar6 + 0x91)" * (cast_expression "(byte *)(iVar6 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x91)" ( (binary_expression "iVar6 + 0x91" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "bVar8 = *(byte *)(ppiVar13[1] + 0x2b);" (assignment_expression "bVar8 = *(byte *)(ppiVar13[1] + 0x2b)" identifier = (pointer_expression "*(byte *)(ppiVar13[1] + 0x2b)" * (cast_expression "(byte *)(ppiVar13[1] + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar13[1] + 0x2b)" ( (binary_expression "ppiVar13[1] + 0x2b" (subscript_expression "ppiVar13[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "uVar17 = (uint)bVar8;" (assignment_expression "uVar17 = (uint)bVar8" identifier = (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_0011ef39;" goto statement_identifier ;) })) }) (else_clause "else {\n    iVar9 = 7;\n    pbVar15 = (byte *)".dtors.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar23 = false;\n    bVar20 = (!bVar21 && !bVar20) == bVar21;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".init_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar21 = false;\n    bVar20 = (!bVar23 && !bVar20) == bVar23;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".fini_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;\n    bVar20 = false;\n    bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';\n    if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }\nLAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;\nLAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\nLAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }\n  }" else (compound_statement "{\n    iVar9 = 7;\n    pbVar15 = (byte *)".dtors.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar23 = false;\n    bVar20 = (!bVar21 && !bVar20) == bVar21;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".init_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar21 = false;\n    bVar20 = (!bVar23 && !bVar20) == bVar23;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".fini_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;\n    bVar20 = false;\n    bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';\n    if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }\nLAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;\nLAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\nLAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }\n  }" { (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)".dtors.";" (assignment_expression "pbVar15 = (byte *)".dtors."" identifier = (cast_expression "(byte *)".dtors."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".dtors."" " string_content "))) ;) (expression_statement "pbVar18 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);" do (compound_statement "{\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar15 < *pbVar18;" (assignment_expression "bVar21 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar20 = (!bVar21 && !bVar20) == bVar21;" (assignment_expression "bVar20 = (!bVar21 && !bVar20) == bVar21" identifier = (binary_expression "(!bVar21 && !bVar20) == bVar21" (parenthesized_expression "(!bVar21 && !bVar20)" ( (binary_expression "!bVar21 && !bVar20" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar20) goto LAB_0011eb78;" if (parenthesized_expression "(bVar20)" ( identifier )) (goto_statement "goto LAB_0011eb78;" goto statement_identifier ;)) (expression_statement "iVar9 = 0xc;" (assignment_expression "iVar9 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)".init_array.";" (assignment_expression "pbVar15 = (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 "pbVar18 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);" do (compound_statement "{\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar15 < *pbVar18;" (assignment_expression "bVar23 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "bVar20 = (!bVar23 && !bVar20) == bVar23;" (assignment_expression "bVar20 = (!bVar23 && !bVar20) == bVar23" identifier = (binary_expression "(!bVar23 && !bVar20) == bVar23" (parenthesized_expression "(!bVar23 && !bVar20)" ( (binary_expression "!bVar23 && !bVar20" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar20) goto LAB_0011eb78;" if (parenthesized_expression "(bVar20)" ( identifier )) (goto_statement "goto LAB_0011eb78;" goto statement_identifier ;)) (expression_statement "iVar9 = 0xc;" (assignment_expression "iVar9 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)".fini_array.";" (assignment_expression "pbVar15 = (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 "pbVar18 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);" do (compound_statement "{\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar15 < *pbVar18;" (assignment_expression "bVar21 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (if_statement "if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;" if (parenthesized_expression "((!bVar21 && !bVar20) == bVar21)" ( (binary_expression "(!bVar21 && !bVar20) == bVar21" (parenthesized_expression "(!bVar21 && !bVar20)" ( (binary_expression "!bVar21 && !bVar20" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) == identifier) )) (goto_statement "goto LAB_0011eb78;" goto statement_identifier ;)) (expression_statement "bVar20 = false;" (assignment_expression "bVar20 = false" identifier = false) ;) (expression_statement "bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';" (assignment_expression "bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0'" identifier = (binary_expression "*(char *)((int)piVar11 + 0xad5) == '\0'" (pointer_expression "*(char *)((int)piVar11 + 0xad5)" * (cast_expression "(char *)((int)piVar11 + 0xad5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 0xad5)" ( (binary_expression "(int)piVar11 + 0xad5" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }" if (parenthesized_expression "(!bVar23)" ( (unary_expression "!bVar23" ! identifier) )) (compound_statement "{\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }" { (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar15 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" 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 "))) ;) (do_statement "do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);" do (compound_statement "{\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar20 = *pbVar15 < *pbVar18;" (assignment_expression "bVar20 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar23 = *pbVar15 == *pbVar18;" (assignment_expression "bVar23 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar23)" ( identifier )) ;) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "bVar20 = (!bVar20 && !bVar23) == bVar20;" (assignment_expression "bVar20 = (!bVar20 && !bVar23) == bVar20" identifier = (binary_expression "(!bVar20 && !bVar23) == bVar20" (parenthesized_expression "(!bVar20 && !bVar23)" ( (binary_expression "!bVar20 && !bVar23" (unary_expression "!bVar20" ! identifier) && (unary_expression "!bVar23" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }" if (parenthesized_expression "(!bVar20)" ( (unary_expression "!bVar20" ! identifier) )) (compound_statement "{\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }" { (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar15 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" 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 "))) ;) (do_statement "do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);" do (compound_statement "{\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar15 < *pbVar18;" (assignment_expression "bVar21 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (if_statement "if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;" if (parenthesized_expression "((!bVar21 && !bVar20) != bVar21)" ( (binary_expression "(!bVar21 && !bVar20) != bVar21" (parenthesized_expression "(!bVar21 && !bVar20)" ( (binary_expression "!bVar21 && !bVar20" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_0011edf0;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0011eb78;" goto statement_identifier ;) })) (labeled_statement "LAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;" statement_identifier : (if_statement "if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;" if (parenthesized_expression "(*(char *)((int)piVar11 + 0x3ced) != '\0')" ( (binary_expression "*(char *)((int)piVar11 + 0x3ced) != '\0'" (pointer_expression "*(char *)((int)piVar11 + 0x3ced)" * (cast_expression "(char *)((int)piVar11 + 0x3ced)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 0x3ced)" ( (binary_expression "(int)piVar11 + 0x3ced" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0011eb9d;" goto statement_identifier ;))) (labeled_statement "LAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);" statement_identifier : (expression_statement "cVar4 = *(char *)((int)piVar11 + 0x318d);" (assignment_expression "cVar4 = *(char *)((int)piVar11 + 0x318d)" identifier = (pointer_expression "*(char *)((int)piVar11 + 0x318d)" * (cast_expression "(char *)((int)piVar11 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 0x318d)" ( (binary_expression "(int)piVar11 + 0x318d" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (labeled_statement "LAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }" statement_identifier : (if_statement "if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }" { (labeled_statement "LAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);" statement_identifier : (expression_statement "uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);" (assignment_expression "uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14)" identifier = (pointer_expression "*(uint *)(*ppiVar13[0x1c] + 0x14)" * (cast_expression "(uint *)(*ppiVar13[0x1c] + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppiVar13[0x1c] + 0x14)" ( (binary_expression "*ppiVar13[0x1c] + 0x14" (pointer_expression "*ppiVar13[0x1c]" * (subscript_expression "ppiVar13[0x1c]" identifier [ number_literal ])) + number_literal) ))))) ;)) (expression_statement "bVar20 = uVar17 < 4;" (assignment_expression "bVar20 = uVar17 < 4" identifier = (binary_expression "uVar17 < 4" identifier < number_literal)) ;) (expression_statement "bVar23 = uVar17 == 4;" (assignment_expression "bVar23 = uVar17 == 4" identifier = (binary_expression "uVar17 == 4" identifier == number_literal)) ;) (if_statement "if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }" if (parenthesized_expression "(4 < uVar17)" ( (binary_expression "4 < uVar17" number_literal < identifier) )) (compound_statement "{\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }" { (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar15 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" 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 "))) ;) (do_statement "do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);" do (compound_statement "{\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar20 = *pbVar15 < *pbVar18;" (assignment_expression "bVar20 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar23 = *pbVar15 == *pbVar18;" (assignment_expression "bVar23 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar23)" ( identifier )) ;) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "bVar20 = (!bVar20 && !bVar23) == bVar20;" (assignment_expression "bVar20 = (!bVar20 && !bVar23) == bVar20" identifier = (binary_expression "(!bVar20 && !bVar23) == bVar20" (parenthesized_expression "(!bVar20 && !bVar23)" ( (binary_expression "!bVar20 && !bVar23" (unary_expression "!bVar20" ! identifier) && (unary_expression "!bVar23" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }" if (parenthesized_expression "(bVar20)" ( identifier )) (compound_statement "{\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }" { (labeled_statement "LAB_0011ee50:\n          bVar23 = false;" statement_identifier : (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;)) (expression_statement "iVar9 = 0xc;" (assignment_expression "iVar9 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar15 = *(byte **)(iVar6 + 0x20);" (assignment_expression "pbVar15 = *(byte **)(iVar6 + 0x20)" identifier = (pointer_expression "*(byte **)(iVar6 + 0x20)" * (cast_expression "(byte **)(iVar6 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" 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 "))) ;) (do_statement "do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);" do (compound_statement "{\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar15 < *pbVar18;" (assignment_expression "bVar23 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (expression_statement "bVar20 = (!bVar23 && !bVar20) == bVar23;" (assignment_expression "bVar20 = (!bVar23 && !bVar20) == bVar23" identifier = (binary_expression "(!bVar23 && !bVar20) == bVar23" (parenthesized_expression "(!bVar23 && !bVar20)" ( (binary_expression "!bVar23 && !bVar20" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar20) goto LAB_0011eeb8;" if (parenthesized_expression "(!bVar20)" ( (unary_expression "!bVar20" ! identifier) )) (goto_statement "goto LAB_0011eeb8;" goto statement_identifier ;)) }) (else_clause "else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }" else (compound_statement "{\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }" { (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)".ctors.";" (assignment_expression "pbVar15 = (byte *)".ctors."" identifier = (cast_expression "(byte *)".ctors."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".ctors."" " string_content "))) ;) (expression_statement "pbVar18 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);" do (compound_statement "{\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar15 < *pbVar18;" (assignment_expression "bVar21 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (expression_statement "bVar20 = (!bVar21 && !bVar20) == bVar21;" (assignment_expression "bVar20 = (!bVar21 && !bVar20) == bVar21" identifier = (binary_expression "(!bVar21 && !bVar20) == bVar21" (parenthesized_expression "(!bVar21 && !bVar20)" ( (binary_expression "!bVar21 && !bVar20" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar20) goto LAB_0011ee50;" if (parenthesized_expression "(bVar20)" ( identifier )) (goto_statement "goto LAB_0011ee50;" goto statement_identifier ;)) (labeled_statement "LAB_0011eeb8:\n          bVar23 = false;" statement_identifier : (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;)) (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar15 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" 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 "))) ;) (do_statement "do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);" do (compound_statement "{\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar15 < *pbVar18;" (assignment_expression "bVar23 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "bVar20 = (!bVar23 && !bVar20) == bVar23;" (assignment_expression "bVar20 = (!bVar23 && !bVar20) == bVar23" identifier = (binary_expression "(!bVar23 && !bVar20) == bVar23" (parenthesized_expression "(!bVar23 && !bVar20)" ( (binary_expression "!bVar23 && !bVar20" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }" if (parenthesized_expression "(!bVar20)" ( (unary_expression "!bVar20" ! identifier) )) (compound_statement "{\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }" { (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" identifier = number_literal) ;) (expression_statement "pbVar15 = (byte *)".dtors.";" (assignment_expression "pbVar15 = (byte *)".dtors."" identifier = (cast_expression "(byte *)".dtors."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".dtors."" " string_content "))) ;) (expression_statement "pbVar18 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar13[0x1b]" identifier = (cast_expression "(byte *)ppiVar13[0x1b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppiVar13[0x1b]" identifier [ number_literal ]))) ;) (do_statement "do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);" do (compound_statement "{\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar15 < *pbVar18;" (assignment_expression "bVar21 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (expression_statement "bVar20 = (!bVar21 && !bVar20) == bVar21;" (assignment_expression "bVar20 = (!bVar21 && !bVar20) == bVar21" identifier = (binary_expression "(!bVar21 && !bVar20) == bVar21" (parenthesized_expression "(!bVar21 && !bVar20)" ( (binary_expression "!bVar21 && !bVar20" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar20) goto LAB_0011ebc0;" if (parenthesized_expression "(!bVar20)" ( (unary_expression "!bVar20" ! identifier) )) (goto_statement "goto LAB_0011ebc0;" goto statement_identifier ;)) })) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "iVar9 = 0xc;" (assignment_expression "iVar9 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar15 = *(byte **)(iVar6 + 0x20);" (assignment_expression "pbVar15 = *(byte **)(iVar6 + 0x20)" identifier = (pointer_expression "*(byte **)(iVar6 + 0x20)" * (cast_expression "(byte **)(iVar6 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" 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 "))) ;) (do_statement "do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);" do (compound_statement "{\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar15 < *pbVar18;" (assignment_expression "bVar23 = *pbVar15 < *pbVar18" identifier = (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" identifier = (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (if_statement "if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;" if (parenthesized_expression "((!bVar23 && !bVar20) != bVar23)" ( (binary_expression "(!bVar23 && !bVar20) != bVar23" (parenthesized_expression "(!bVar23 && !bVar20)" ( (binary_expression "!bVar23 && !bVar20" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_0011ebc0;" goto statement_identifier ;)) }))) (expression_statement "ppiVar13[10] = ppiVar13[0x19];" (assignment_expression "ppiVar13[10] = ppiVar13[0x19]" (subscript_expression "ppiVar13[10]" identifier [ number_literal ]) = (subscript_expression "ppiVar13[0x19]" identifier [ number_literal ])) ;) (expression_statement "ppiVar13[0xb] = ppiVar13[0x1a];" (assignment_expression "ppiVar13[0xb] = ppiVar13[0x1a]" (subscript_expression "ppiVar13[0xb]" identifier [ number_literal ]) = (subscript_expression "ppiVar13[0x1a]" identifier [ number_literal ])) ;) (expression_statement "ppiVar13[9] = &DAT_00414774;" (assignment_expression "ppiVar13[9] = &DAT_00414774" (subscript_expression "ppiVar13[9]" identifier [ number_literal ]) = (pointer_expression "&DAT_00414774" & identifier)) ;) (expression_statement "ppiVar13[0xfffffffd] = (int *)0x1;" (assignment_expression "ppiVar13[0xfffffffd] = (int *)0x1" (subscript_expression "ppiVar13[0xfffffffd]" identifier [ number_literal ]) = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar13[0xfffffffc] = (int *)0x0;" (assignment_expression "ppiVar13[0xfffffffc] = (int *)0x0" (subscript_expression "ppiVar13[0xfffffffc]" identifier [ number_literal ]) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);" (assignment_expression "ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9)" (subscript_expression "ppiVar13[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(int *)(ppiVar13 + 9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar13 + 9)" ( (binary_expression "ppiVar13 + 9" identifier + number_literal) )))) ;) (expression_statement "ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);" (assignment_expression "ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10)" (subscript_expression "ppiVar13[0xfffffffa]" identifier [ number_literal ]) = (cast_expression "(int *)(ppiVar13 + 10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar13 + 10)" ( (binary_expression "ppiVar13 + 10" identifier + number_literal) )))) ;) (expression_statement "ppiVar13[0xfffffff9] = &DAT_00414774;" (assignment_expression "ppiVar13[0xfffffff9] = &DAT_00414774" (subscript_expression "ppiVar13[0xfffffff9]" identifier [ number_literal ]) = (pointer_expression "&DAT_00414774" & identifier)) ;) (expression_statement "ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);" (assignment_expression "ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4)" (subscript_expression "ppiVar13[0xfffffff8]" identifier [ number_literal ]) = (cast_expression "(int *)(ppiVar13 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppiVar13 + 4)" ( (binary_expression "ppiVar13 + 4" identifier + number_literal) )))) ;) (expression_statement "ppiVar13[0xfffffff7] = (int *)0x11ee9f;" (assignment_expression "ppiVar13[0xfffffff7] = (int *)0x11ee9f" (subscript_expression "ppiVar13[0xfffffff7]" identifier [ number_literal ]) = (cast_expression "(int *)0x11ee9f" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000a8d90();" (call_expression "FUN_000a8d90()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppiVar12 = ppiVar13 + 0x17;" (assignment_expression "ppiVar12 = ppiVar13 + 0x17" identifier = (binary_expression "ppiVar13 + 0x17" identifier + number_literal)) ;) (expression_statement "ppiVar13 = ppiVar13 + 0xffffffff;" (assignment_expression "ppiVar13 = ppiVar13 + 0xffffffff" identifier = (binary_expression "ppiVar13 + 0xffffffff" identifier + number_literal)) ;) (expression_statement "uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);" (assignment_expression "uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac)" identifier = (binary_expression "(uint)*(byte *)((*ppiVar12)[1] + 0xac)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((*ppiVar12)[1] + 0xac)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*ppiVar12)[1] + 0xac)" ( (binary_expression "(*ppiVar12)[1] + 0xac" (subscript_expression "(*ppiVar12)[1]" (parenthesized_expression "(*ppiVar12)" ( (pointer_expression "*ppiVar12" * identifier) )) [ number_literal ]) + number_literal) ))))) ;) (goto_statement "goto LAB_0011ebc2;" goto statement_identifier ;) })) }))) }))) (labeled_statement "LAB_0011ebc0:\n  uVar17 = 0;" statement_identifier : (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_0011ebc2:\n  uVar1 = *(uint *)(iVar6 + 0x54);" statement_identifier : (expression_statement "uVar1 = *(uint *)(iVar6 + 0x54);" (assignment_expression "uVar1 = *(uint *)(iVar6 + 0x54)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x54)" * (cast_expression "(uint *)(iVar6 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x54)" ( (binary_expression "iVar6 + 0x54" identifier + number_literal) ))))) ;)) (expression_statement "*(uint *)((int)ppiVar13 + -4) = uVar17;" (assignment_expression "*(uint *)((int)ppiVar13 + -4) = uVar17" (pointer_expression "*(uint *)((int)ppiVar13 + -4)" * (cast_expression "(uint *)((int)ppiVar13 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -4)" ( (binary_expression "(int)ppiVar13 + -4" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar13 + -8) = *(undefined4 *)((int)ppiVar13 + 0x78);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -8) = *(undefined4 *)((int)ppiVar13 + 0x78)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -8)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -8)" ( (binary_expression "(int)ppiVar13 + -8" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar13 + 0x78)" * (cast_expression "(undefined4 *)((int)ppiVar13 + 0x78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + 0x78)" ( (binary_expression "(int)ppiVar13 + 0x78" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0xc) = *(undefined4 *)((int)ppiVar13 + 0x70);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0xc) = *(undefined4 *)((int)ppiVar13 + 0x70)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0xc)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0xc)" ( (binary_expression "(int)ppiVar13 + -0xc" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar13 + 0x70)" * (cast_expression "(undefined4 *)((int)ppiVar13 + 0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + 0x70)" ( (binary_expression "(int)ppiVar13 + 0x70" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x6c);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x6c)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x10)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0x10)" ( (binary_expression "(int)ppiVar13 + -0x10" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar13 + 0x6c)" * (cast_expression "(undefined4 *)((int)ppiVar13 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + 0x6c)" ( (binary_expression "(int)ppiVar13 + 0x6c" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x14) = *(undefined4 *)((int)ppiVar13 + 0x68);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x14) = *(undefined4 *)((int)ppiVar13 + 0x68)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0x14)" ( (binary_expression "(int)ppiVar13 + -0x14" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar13 + 0x68)" * (cast_expression "(undefined4 *)((int)ppiVar13 + 0x68)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + 0x68)" ( (binary_expression "(int)ppiVar13 + 0x68" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x18) = *(undefined4 *)((int)ppiVar13 + 100);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x18) = *(undefined4 *)((int)ppiVar13 + 100)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x18)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0x18)" ( (binary_expression "(int)ppiVar13 + -0x18" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar13 + 100)" * (cast_expression "(undefined4 *)((int)ppiVar13 + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + 100)" ( (binary_expression "(int)ppiVar13 + 100" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x1c) = *(undefined4 *)((int)ppiVar13 + 0x60);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x1c) = *(undefined4 *)((int)ppiVar13 + 0x60)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x1c)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0x1c)" ( (binary_expression "(int)ppiVar13 + -0x1c" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar13 + 0x60)" * (cast_expression "(undefined4 *)((int)ppiVar13 + 0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + 0x60)" ( (binary_expression "(int)ppiVar13 + 0x60" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(int *)((int)ppiVar13 + -0x20) = iVar6;" (assignment_expression "*(int *)((int)ppiVar13 + -0x20) = iVar6" (pointer_expression "*(int *)((int)ppiVar13 + -0x20)" * (cast_expression "(int *)((int)ppiVar13 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0x20)" ( (binary_expression "(int)ppiVar13 + -0x20" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x24) = 0x11ebe4;" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x24) = 0x11ebe4" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x24)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0x24)" ( (binary_expression "(int)ppiVar13 + -0x24" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar26 = FUN_00191220();" (assignment_expression "uVar26 = FUN_00191220()" identifier = (call_expression "FUN_00191220()" identifier (argument_list "()" ( )))) ;) (expression_statement "**(undefined8 **)((int)ppiVar13 + 0x80) = uVar26;" (assignment_expression "**(undefined8 **)((int)ppiVar13 + 0x80) = uVar26" (pointer_expression "**(undefined8 **)((int)ppiVar13 + 0x80)" * (pointer_expression "*(undefined8 **)((int)ppiVar13 + 0x80)" * (cast_expression "(undefined8 **)((int)ppiVar13 + 0x80)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar13 + 0x80)" ( (binary_expression "(int)ppiVar13 + 0x80" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) = identifier) ;) (if_statement "if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar13 + -8) = 0;\n    *(int *)((int)ppiVar13 + -0xc) = iVar6;\n    *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60);\n    *(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12;\n    uVar5 = FUN_00107cf0();\n    *(undefined4 *)(iVar6 + 0x5c) = uVar5;\n  }" if (parenthesized_expression "(((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5) != 0))" ( (binary_expression "((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar6 + 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 *)(iVar6 + 0x54)) & 5) != 0)" ( (binary_expression "((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5) != 0" (parenthesized_expression "((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5)" ( (binary_expression "(uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5" (parenthesized_expression "(uVar1 ^ *(uint *)(iVar6 + 0x54))" ( (binary_expression "uVar1 ^ *(uint *)(iVar6 + 0x54)" identifier ^ (pointer_expression "*(uint *)(iVar6 + 0x54)" * (cast_expression "(uint *)(iVar6 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x54)" ( (binary_expression "iVar6 + 0x54" identifier + number_literal) ))))) )) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    *(undefined4 *)((int)ppiVar13 + -8) = 0;\n    *(int *)((int)ppiVar13 + -0xc) = iVar6;\n    *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60);\n    *(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12;\n    uVar5 = FUN_00107cf0();\n    *(undefined4 *)(iVar6 + 0x5c) = uVar5;\n  }" { (expression_statement "*(undefined4 *)((int)ppiVar13 + -8) = 0;" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -8) = 0" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -8)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -8)" ( (binary_expression "(int)ppiVar13 + -8" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppiVar13 + -0xc) = iVar6;" (assignment_expression "*(int *)((int)ppiVar13 + -0xc) = iVar6" (pointer_expression "*(int *)((int)ppiVar13 + -0xc)" * (cast_expression "(int *)((int)ppiVar13 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0xc)" ( (binary_expression "(int)ppiVar13 + -0xc" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x10)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0x10)" ( (binary_expression "(int)ppiVar13 + -0x10" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar13 + 0x60)" * (cast_expression "(undefined4 *)((int)ppiVar13 + 0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + 0x60)" ( (binary_expression "(int)ppiVar13 + 0x60" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12;" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + -0x14)" ( (binary_expression "(int)ppiVar13 + -0x14" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar5 = FUN_00107cf0();" (assignment_expression "uVar5 = FUN_00107cf0()" identifier = (call_expression "FUN_00107cf0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x5c) = uVar5;" (assignment_expression "*(undefined4 *)(iVar6 + 0x5c) = uVar5" (pointer_expression "*(undefined4 *)(iVar6 + 0x5c)" * (cast_expression "(undefined4 *)(iVar6 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x5c)" ( (binary_expression "iVar6 + 0x5c" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "*(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4) = 1;" (assignment_expression "*(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4) = 1" (pointer_expression "*(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4)" * (cast_expression "(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)ppiVar13 + 0x60) + 0x1c4)" ( (binary_expression "*(int *)((int)ppiVar13 + 0x60) + 0x1c4" (pointer_expression "*(int *)((int)ppiVar13 + 0x60)" * (cast_expression "(int *)((int)ppiVar13 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar13 + 0x60)" ( (binary_expression "(int)ppiVar13 + 0x60" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) = number_literal) ;) (return_statement "return iVar6;" 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 (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 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 (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ))) )) (compound_statement { (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) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_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 * (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) & 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 , IDENT , 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)) ;) (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 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 (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 *)) ) 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 ]) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) )))) & 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) + LIT) )))) & 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 *)) ) 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 ]) = (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 (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 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 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_0011e910(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  char cVar4;\n  undefined4 uVar5;\n  int iVar6;\n  size_t sVar7;\n  byte bVar8;\n  int iVar9;\n  int *piVar10;\n  int *piVar11;\n  int **ppiVar12;\n  int **ppiVar13;\n  int **ppiVar14;\n  byte *pbVar15;\n  undefined **ppuVar16;\n  uint uVar17;\n  byte *pbVar18;\n  char *pcVar19;\n  bool bVar20;\n  bool bVar21;\n  undefined1 uVar22;\n  bool bVar23;\n  undefined1 uVar24;\n  byte bVar25;\n  undefined8 uVar26;\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  bVar25 = 0;\n  uStack_14 = 0x11e919;\n  *param_9 = 0;\n  param_9[1] = 0;\n  apiStack_60[0] = param_5;\n  cVar4 = FUN_00117830(param_1,param_2,param_4);\n  ppiVar13 = apiStack_60 + 1;\n  ppiVar12 = apiStack_60 + 1;\n  if (cVar4 == '\0') {\n    return 0;\n  }\n  uVar17 = *(uint *)(DAT_004144e8 + 8);\n  if (uVar17 == 0) goto LAB_0011ef08;\n  if ((*(char *)(uVar17 + 0x318d) == '\0') ||\n     (uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0)) {\n    piVar10 = &DAT_004144e8;\n    if (*(char *)(uVar17 + 0x5871) != '\0') {\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }\n    ppiVar12[1] = piVar10;\n    ppiVar12[10] = ppiVar12[0x19];\n    ppiVar12[0xb] = ppiVar12[0x1a];\n    ppiVar12[-2] = (int *)local_34;\n    ppiVar12[-3] = ppiVar12[0x18] + 0x81;\n    ppiVar12[-4] = (int *)(ppiVar12 + 7);\n    ppiVar12[-5] = (int *)0x11e9c5;\n    FUN_001196a0();\n    piVar10 = ppiVar12[6];\n    ppiVar14 = ppiVar12 + -1;\n    if (piVar10 == ppiVar12[0x17] + 0x82) {\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }\n  }\n  else {\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);\n    ppiVar13 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }\nLAB_0011ea90:\n  piVar10 = (int *)ppiVar13[0x18][1];\n  piVar11 = *(int **)(*apiStack_60[1] + 8);\n  ppiVar13[1] = piVar10;\n  bVar8 = *(byte *)(piVar10 + 0x2b);\n  uVar17 = (uint)bVar8;\n  if (bVar8 != 0) {\n    if (piVar11 == (int *)0x0) goto LAB_0011ef08;\n    goto LAB_0011ebc2;\n  }\n  if (piVar11 == (int *)0x0) {\nLAB_0011ef08:\n    ppiVar13[0xffffffff] = (int *)uVar17;\n    ppiVar13[0xfffffffe] = (int *)"options";\n    ppiVar13[0xfffffffd] = (int *)0x5c;\n    ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    \n    ppiVar13[0xfffffffb] = (int *)0x11ef1e;\n    FUN_000da200();\n  }\n  bVar20 = false;\n  bVar23 = *(char *)((int)piVar11 + 0x318d) == '\0';\n  if (!bVar23) goto LAB_0011edf0;\n  iVar9 = 7;\n  pbVar15 = (byte *)".ctors.";\n  pbVar18 = (byte *)ppiVar13[0x1b];\n  do {\n    if (iVar9 == 0) break;\n    iVar9 = iVar9 + -1;\n    bVar20 = *pbVar15 < *pbVar18;\n    bVar23 = *pbVar15 == *pbVar18;\n    pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n    pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n  } while (bVar23);\n  bVar21 = false;\n  bVar20 = (!bVar20 && !bVar23) == bVar20;\n  if (bVar20) {\nLAB_0011eb78:\n    *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n    bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n    uVar17 = (uint)bVar8;\n    if (*(char *)((int)piVar11 + 0x3ced) == '\0') {\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }\n    if (bVar8 != 0) goto LAB_0011ebc2;\nLAB_0011eb9d:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\n    if (*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0') goto LAB_0011ee04;\n    if (cVar4 == '\0') {\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }\n  }\n  else {\n    iVar9 = 7;\n    pbVar15 = (byte *)".dtors.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar23 = false;\n    bVar20 = (!bVar21 && !bVar20) == bVar21;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".init_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar21 = false;\n    bVar20 = (!bVar23 && !bVar20) == bVar23;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".fini_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;\n    bVar20 = false;\n    bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';\n    if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }\nLAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;\nLAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\nLAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }\n  }\nLAB_0011ebc0:\n  uVar17 = 0;\nLAB_0011ebc2:\n  uVar1 = *(uint *)(iVar6 + 0x54);\n  *(uint *)((int)ppiVar13 + -4) = uVar17;\n  *(undefined4 *)((int)ppiVar13 + -8) = *(undefined4 *)((int)ppiVar13 + 0x78);\n  *(undefined4 *)((int)ppiVar13 + -0xc) = *(undefined4 *)((int)ppiVar13 + 0x70);\n  *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x6c);\n  *(undefined4 *)((int)ppiVar13 + -0x14) = *(undefined4 *)((int)ppiVar13 + 0x68);\n  *(undefined4 *)((int)ppiVar13 + -0x18) = *(undefined4 *)((int)ppiVar13 + 100);\n  *(undefined4 *)((int)ppiVar13 + -0x1c) = *(undefined4 *)((int)ppiVar13 + 0x60);\n  *(int *)((int)ppiVar13 + -0x20) = iVar6;\n  *(undefined4 *)((int)ppiVar13 + -0x24) = 0x11ebe4;\n  uVar26 = FUN_00191220();\n  **(undefined8 **)((int)ppiVar13 + 0x80) = uVar26;\n  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar13 + -8) = 0;\n    *(int *)((int)ppiVar13 + -0xc) = iVar6;\n    *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60);\n    *(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12;\n    uVar5 = FUN_00107cf0();\n    *(undefined4 *)(iVar6 + 0x5c) = uVar5;\n  }\n  *(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4) = 1;\n  return iVar6;\n}" (primitive_type "int") (function_declarator "FUN_0011e910(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_0011e910") (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  char cVar4;\n  undefined4 uVar5;\n  int iVar6;\n  size_t sVar7;\n  byte bVar8;\n  int iVar9;\n  int *piVar10;\n  int *piVar11;\n  int **ppiVar12;\n  int **ppiVar13;\n  int **ppiVar14;\n  byte *pbVar15;\n  undefined **ppuVar16;\n  uint uVar17;\n  byte *pbVar18;\n  char *pcVar19;\n  bool bVar20;\n  bool bVar21;\n  undefined1 uVar22;\n  bool bVar23;\n  undefined1 uVar24;\n  byte bVar25;\n  undefined8 uVar26;\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  bVar25 = 0;\n  uStack_14 = 0x11e919;\n  *param_9 = 0;\n  param_9[1] = 0;\n  apiStack_60[0] = param_5;\n  cVar4 = FUN_00117830(param_1,param_2,param_4);\n  ppiVar13 = apiStack_60 + 1;\n  ppiVar12 = apiStack_60 + 1;\n  if (cVar4 == '\0') {\n    return 0;\n  }\n  uVar17 = *(uint *)(DAT_004144e8 + 8);\n  if (uVar17 == 0) goto LAB_0011ef08;\n  if ((*(char *)(uVar17 + 0x318d) == '\0') ||\n     (uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0)) {\n    piVar10 = &DAT_004144e8;\n    if (*(char *)(uVar17 + 0x5871) != '\0') {\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }\n    ppiVar12[1] = piVar10;\n    ppiVar12[10] = ppiVar12[0x19];\n    ppiVar12[0xb] = ppiVar12[0x1a];\n    ppiVar12[-2] = (int *)local_34;\n    ppiVar12[-3] = ppiVar12[0x18] + 0x81;\n    ppiVar12[-4] = (int *)(ppiVar12 + 7);\n    ppiVar12[-5] = (int *)0x11e9c5;\n    FUN_001196a0();\n    piVar10 = ppiVar12[6];\n    ppiVar14 = ppiVar12 + -1;\n    if (piVar10 == ppiVar12[0x17] + 0x82) {\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }\n  }\n  else {\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);\n    ppiVar13 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }\nLAB_0011ea90:\n  piVar10 = (int *)ppiVar13[0x18][1];\n  piVar11 = *(int **)(*apiStack_60[1] + 8);\n  ppiVar13[1] = piVar10;\n  bVar8 = *(byte *)(piVar10 + 0x2b);\n  uVar17 = (uint)bVar8;\n  if (bVar8 != 0) {\n    if (piVar11 == (int *)0x0) goto LAB_0011ef08;\n    goto LAB_0011ebc2;\n  }\n  if (piVar11 == (int *)0x0) {\nLAB_0011ef08:\n    ppiVar13[0xffffffff] = (int *)uVar17;\n    ppiVar13[0xfffffffe] = (int *)"options";\n    ppiVar13[0xfffffffd] = (int *)0x5c;\n    ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    \n    ppiVar13[0xfffffffb] = (int *)0x11ef1e;\n    FUN_000da200();\n  }\n  bVar20 = false;\n  bVar23 = *(char *)((int)piVar11 + 0x318d) == '\0';\n  if (!bVar23) goto LAB_0011edf0;\n  iVar9 = 7;\n  pbVar15 = (byte *)".ctors.";\n  pbVar18 = (byte *)ppiVar13[0x1b];\n  do {\n    if (iVar9 == 0) break;\n    iVar9 = iVar9 + -1;\n    bVar20 = *pbVar15 < *pbVar18;\n    bVar23 = *pbVar15 == *pbVar18;\n    pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n    pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n  } while (bVar23);\n  bVar21 = false;\n  bVar20 = (!bVar20 && !bVar23) == bVar20;\n  if (bVar20) {\nLAB_0011eb78:\n    *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n    bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n    uVar17 = (uint)bVar8;\n    if (*(char *)((int)piVar11 + 0x3ced) == '\0') {\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }\n    if (bVar8 != 0) goto LAB_0011ebc2;\nLAB_0011eb9d:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\n    if (*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0') goto LAB_0011ee04;\n    if (cVar4 == '\0') {\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }\n  }\n  else {\n    iVar9 = 7;\n    pbVar15 = (byte *)".dtors.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar23 = false;\n    bVar20 = (!bVar21 && !bVar20) == bVar21;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".init_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar21 = false;\n    bVar20 = (!bVar23 && !bVar20) == bVar23;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".fini_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;\n    bVar20 = false;\n    bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';\n    if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }\nLAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;\nLAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\nLAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }\n  }\nLAB_0011ebc0:\n  uVar17 = 0;\nLAB_0011ebc2:\n  uVar1 = *(uint *)(iVar6 + 0x54);\n  *(uint *)((int)ppiVar13 + -4) = uVar17;\n  *(undefined4 *)((int)ppiVar13 + -8) = *(undefined4 *)((int)ppiVar13 + 0x78);\n  *(undefined4 *)((int)ppiVar13 + -0xc) = *(undefined4 *)((int)ppiVar13 + 0x70);\n  *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x6c);\n  *(undefined4 *)((int)ppiVar13 + -0x14) = *(undefined4 *)((int)ppiVar13 + 0x68);\n  *(undefined4 *)((int)ppiVar13 + -0x18) = *(undefined4 *)((int)ppiVar13 + 100);\n  *(undefined4 *)((int)ppiVar13 + -0x1c) = *(undefined4 *)((int)ppiVar13 + 0x60);\n  *(int *)((int)ppiVar13 + -0x20) = iVar6;\n  *(undefined4 *)((int)ppiVar13 + -0x24) = 0x11ebe4;\n  uVar26 = FUN_00191220();\n  **(undefined8 **)((int)ppiVar13 + 0x80) = uVar26;\n  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar13 + -8) = 0;\n    *(int *)((int)ppiVar13 + -0xc) = iVar6;\n    *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60);\n    *(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12;\n    uVar5 = FUN_00107cf0();\n    *(undefined4 *)(iVar6 + 0x5c) = uVar5;\n  }\n  *(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4) = 1;\n  return iVar6;\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 "char cVar4;" (primitive_type "char") (identifier "cVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "size_t sVar7;" (primitive_type "size_t") (identifier "sVar7") (; ";")) (declaration "byte bVar8;" (type_identifier "byte") (identifier "bVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "int **ppiVar12;" (primitive_type "int") (pointer_declarator "**ppiVar12" (* "*") (pointer_declarator "*ppiVar12" (* "*") (identifier "ppiVar12"))) (; ";")) (declaration "int **ppiVar13;" (primitive_type "int") (pointer_declarator "**ppiVar13" (* "*") (pointer_declarator "*ppiVar13" (* "*") (identifier "ppiVar13"))) (; ";")) (declaration "int **ppiVar14;" (primitive_type "int") (pointer_declarator "**ppiVar14" (* "*") (pointer_declarator "*ppiVar14" (* "*") (identifier "ppiVar14"))) (; ";")) (declaration "byte *pbVar15;" (type_identifier "byte") (pointer_declarator "*pbVar15" (* "*") (identifier "pbVar15")) (; ";")) (declaration "undefined **ppuVar16;" (type_identifier "undefined") (pointer_declarator "**ppuVar16" (* "*") (pointer_declarator "*ppuVar16" (* "*") (identifier "ppuVar16"))) (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "byte *pbVar18;" (type_identifier "byte") (pointer_declarator "*pbVar18" (* "*") (identifier "pbVar18")) (; ";")) (declaration "char *pcVar19;" (primitive_type "char") (pointer_declarator "*pcVar19" (* "*") (identifier "pcVar19")) (; ";")) (declaration "bool bVar20;" (primitive_type "bool") (identifier "bVar20") (; ";")) (declaration "bool bVar21;" (primitive_type "bool") (identifier "bVar21") (; ";")) (declaration "undefined1 uVar22;" (type_identifier "undefined1") (identifier "uVar22") (; ";")) (declaration "bool bVar23;" (primitive_type "bool") (identifier "bVar23") (; ";")) (declaration "undefined1 uVar24;" (type_identifier "undefined1") (identifier "uVar24") (; ";")) (declaration "byte bVar25;" (type_identifier "byte") (identifier "bVar25") (; ";")) (declaration "undefined8 uVar26;" (type_identifier "undefined8") (identifier "uVar26") (; ";")) (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 "bVar25 = 0;" (assignment_expression "bVar25 = 0" (identifier "bVar25") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x11e919;" (assignment_expression "uStack_14 = 0x11e919" (identifier "uStack_14") (= "=") (number_literal "0x11e919")) (; ";")) (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 "cVar4 = FUN_00117830(param_1,param_2,param_4);" (assignment_expression "cVar4 = FUN_00117830(param_1,param_2,param_4)" (identifier "cVar4") (= "=") (call_expression "FUN_00117830(param_1,param_2,param_4)" (identifier "FUN_00117830") (argument_list "(param_1,param_2,param_4)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_4") () ")")))) (; ";")) (expression_statement "ppiVar13 = apiStack_60 + 1;" (assignment_expression "ppiVar13 = apiStack_60 + 1" (identifier "ppiVar13") (= "=") (binary_expression "apiStack_60 + 1" (identifier "apiStack_60") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppiVar12 = apiStack_60 + 1;" (assignment_expression "ppiVar12 = apiStack_60 + 1" (identifier "ppiVar12") (= "=") (binary_expression "apiStack_60 + 1" (identifier "apiStack_60") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (cVar4 == '\0') {\n    return 0;\n  }" (if "if") (parenthesized_expression "(cVar4 == '\0')" (( "(") (binary_expression "cVar4 == '\0'" (identifier "cVar4") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "uVar17 = *(uint *)(DAT_004144e8 + 8);" (assignment_expression "uVar17 = *(uint *)(DAT_004144e8 + 8)" (identifier "uVar17") (= "=") (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 (uVar17 == 0) goto LAB_0011ef08;" (if "if") (parenthesized_expression "(uVar17 == 0)" (( "(") (binary_expression "uVar17 == 0" (identifier "uVar17") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011ef08;" (goto "goto") (statement_identifier "LAB_0011ef08") (; ";"))) (if_statement "if ((*(char *)(uVar17 + 0x318d) == '\0') ||\n     (uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0)) {\n    piVar10 = &DAT_004144e8;\n    if (*(char *)(uVar17 + 0x5871) != '\0') {\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }\n    ppiVar12[1] = piVar10;\n    ppiVar12[10] = ppiVar12[0x19];\n    ppiVar12[0xb] = ppiVar12[0x1a];\n    ppiVar12[-2] = (int *)local_34;\n    ppiVar12[-3] = ppiVar12[0x18] + 0x81;\n    ppiVar12[-4] = (int *)(ppiVar12 + 7);\n    ppiVar12[-5] = (int *)0x11e9c5;\n    FUN_001196a0();\n    piVar10 = ppiVar12[6];\n    ppiVar14 = ppiVar12 + -1;\n    if (piVar10 == ppiVar12[0x17] + 0x82) {\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }\n  }\n  else {\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);\n    ppiVar13 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }" (if "if") (parenthesized_expression "((*(char *)(uVar17 + 0x318d) == '\0') ||\n     (uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0))" (( "(") (binary_expression "(*(char *)(uVar17 + 0x318d) == '\0') ||\n     (uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0)" (parenthesized_expression "(*(char *)(uVar17 + 0x318d) == '\0')" (( "(") (binary_expression "*(char *)(uVar17 + 0x318d) == '\0'" (pointer_expression "*(char *)(uVar17 + 0x318d)" (* "*") (cast_expression "(char *)(uVar17 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar17 + 0x318d)" (( "(") (binary_expression "uVar17 + 0x318d" (identifier "uVar17") (+ "+") (number_literal "0x318d")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0)" (( "(") (comma_expression "uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0" (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")) () ")"))))) (, ",") (binary_expression "(uVar1 & 0x200) == 0" (parenthesized_expression "(uVar1 & 0x200)" (( "(") (binary_expression "uVar1 & 0x200" (identifier "uVar1") (& "&") (number_literal "0x200")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    piVar10 = &DAT_004144e8;\n    if (*(char *)(uVar17 + 0x5871) != '\0') {\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }\n    ppiVar12[1] = piVar10;\n    ppiVar12[10] = ppiVar12[0x19];\n    ppiVar12[0xb] = ppiVar12[0x1a];\n    ppiVar12[-2] = (int *)local_34;\n    ppiVar12[-3] = ppiVar12[0x18] + 0x81;\n    ppiVar12[-4] = (int *)(ppiVar12 + 7);\n    ppiVar12[-5] = (int *)0x11e9c5;\n    FUN_001196a0();\n    piVar10 = ppiVar12[6];\n    ppiVar14 = ppiVar12 + -1;\n    if (piVar10 == ppiVar12[0x17] + 0x82) {\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }\n  }" ({ "{") (expression_statement "piVar10 = &DAT_004144e8;" (assignment_expression "piVar10 = &DAT_004144e8" (identifier "piVar10") (= "=") (pointer_expression "&DAT_004144e8" (& "&") (identifier "DAT_004144e8"))) (; ";")) (if_statement "if (*(char *)(uVar17 + 0x5871) != '\0') {\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }" (if "if") (parenthesized_expression "(*(char *)(uVar17 + 0x5871) != '\0')" (( "(") (binary_expression "*(char *)(uVar17 + 0x5871) != '\0'" (pointer_expression "*(char *)(uVar17 + 0x5871)" (* "*") (cast_expression "(char *)(uVar17 + 0x5871)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar17 + 0x5871)" (( "(") (binary_expression "uVar17 + 0x5871" (identifier "uVar17") (+ "+") (number_literal "0x5871")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      uVar22 = apiStack_60 + 1 < (int **)0x4;\n      uVar24 = &stack0x00000000 == (undefined1 *)0x60;\n      apiStack_60[2] = &DAT_004144e8;\n      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);\n      iVar6 = 0xe;\n      apiStack_60[2] = (int *)0x2fd3ca;\n      pbVar15 = (byte *)".text.unlikely";\n      pbVar18 = (byte *)local_40[2];\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);\n      ppiVar12 = apiStack_60;\n      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }\n      piVar10 = apiStack_60[1];\n      if ((byte *)local_40[2] != local_30) {\n        FUN_00248220(local_40[2]);\n        ppiVar12 = apiStack_60;\n        piVar10 = apiStack_60[1];\n      }\n    }" ({ "{") (expression_statement "uVar22 = apiStack_60 + 1 < (int **)0x4;" (assignment_expression "uVar22 = apiStack_60 + 1 < (int **)0x4" (identifier "uVar22") (= "=") (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 "uVar24 = &stack0x00000000 == (undefined1 *)0x60;" (assignment_expression "uVar24 = &stack0x00000000 == (undefined1 *)0x60" (identifier "uVar24") (= "=") (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 "iVar6 = 0xe;" (assignment_expression "iVar6 = 0xe" (identifier "iVar6") (= "=") (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 "pbVar15 = (byte *)".text.unlikely";" (assignment_expression "pbVar15 = (byte *)".text.unlikely"" (identifier "pbVar15") (= "=") (cast_expression "(byte *)".text.unlikely"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".text.unlikely"" (" """) (string_content ".text.unlikely") (" """)))) (; ";")) (expression_statement "pbVar18 = (byte *)local_40[2];" (assignment_expression "pbVar18 = (byte *)local_40[2]" (identifier "pbVar18") (= "=") (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 (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while ((bool)uVar24);" (do "do") (compound_statement "{\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        uVar22 = *pbVar15 < *pbVar18;\n        uVar24 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      }" ({ "{") (if_statement "if (iVar6 == 0) break;" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + -1" (identifier "iVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "uVar22 = *pbVar15 < *pbVar18;" (assignment_expression "uVar22 = *pbVar15 < *pbVar18" (identifier "uVar22") (= "=") (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (< "<") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "uVar24 = *pbVar15 == *pbVar18;" (assignment_expression "uVar24 = *pbVar15 == *pbVar18" (identifier "uVar24") (= "=") (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (== "==") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" (identifier "pbVar15") (= "=") (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" (identifier "pbVar15") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((bool)uVar24)" (( "(") (cast_expression "(bool)uVar24" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar24")) () ")")) (; ";")) (expression_statement "ppiVar12 = apiStack_60;" (assignment_expression "ppiVar12 = apiStack_60" (identifier "ppiVar12") (= "=") (identifier "apiStack_60")) (; ";")) (if_statement "if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\n      }" (if "if") (parenthesized_expression "((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22)" (( "(") (binary_expression "(!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22" (parenthesized_expression "(!(bool)uVar22 && !(bool)uVar24)" (( "(") (binary_expression "!(bool)uVar22 && !(bool)uVar24" (unary_expression "!(bool)uVar22" (! "!") (cast_expression "(bool)uVar22" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar22"))) (&& "&&") (unary_expression "!(bool)uVar24" (! "!") (cast_expression "(bool)uVar24" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar24")))) () ")")) (== "==") (cast_expression "(bool)uVar22" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar22"))) () ")")) (compound_statement "{\n        if ((byte *)local_40[2] != local_30) {\n          FUN_00248220(local_40[2]);\n        }\n        ppiVar14 = apiStack_60;\n        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;\n        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;\n        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }\n        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);\n        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);\n        ppiVar13 = apiStack_60;\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        goto LAB_0011ea90;\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 "ppiVar14 = apiStack_60;" (assignment_expression "ppiVar14 = apiStack_60" (identifier "ppiVar14") (= "=") (identifier "apiStack_60")) (; ";")) (if_statement "if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;" (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_0011efcb;" (goto "goto") (statement_identifier "LAB_0011efcb") (; ";"))) (expression_statement "uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;" (assignment_expression "uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f" (identifier "uVar17") (= "=") (binary_expression "*(uint *)(*param_4 + 8) & 0xfffff50f" (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")) () ")")))) (& "&") (number_literal "0xfffff50f"))) (; ";")) (if_statement "if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {\n          uVar17 = *(uint *)(*param_4 + 8) & 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          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;\n        }" ({ "{") (expression_statement "uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;" (assignment_expression "uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f" (identifier "uVar17") (= "=") (binary_expression "*(uint *)(*param_4 + 8) & 0xfffff58f" (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")) () ")")))) (& "&") (number_literal "0xfffff58f"))) (; ";")) (} "}"))) (expression_statement "uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);" (assignment_expression "uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34)" (identifier "uVar5") (= "=") (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 "iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);" (assignment_expression "iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0)" (identifier "iVar6") (= "=") (call_expression "FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0)" (identifier "FUN_00110850") (argument_list "(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0)" (( "(") (identifier "unaff_retaddr") (, ",") (identifier "uVar5") (, ",") (subscript_expression "local_40[2]" (identifier "local_40") ([ "[") (number_literal "2") (] "]")) (, ",") (identifier "param_5") (, ",") (identifier "uVar17") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "ppiVar13 = apiStack_60;" (assignment_expression "ppiVar13 = apiStack_60" (identifier "ppiVar13") (= "=") (identifier "apiStack_60")) (; ";")) (expression_statement "*(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;" (assignment_expression "*(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar6 + 0x92)" (* "*") (cast_expression "(byte *)(iVar6 + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x92)" (( "(") (binary_expression "iVar6 + 0x92" (identifier "iVar6") (+ "+") (number_literal "0x92")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar6 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar6 + 0x92)" (* "*") (cast_expression "(byte *)(iVar6 + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x92)" (( "(") (binary_expression "iVar6 + 0x92" (identifier "iVar6") (+ "+") (number_literal "0x92")) () ")")))) (| "|") (number_literal "0x80"))) (; ";")) (goto_statement "goto LAB_0011ea90;" (goto "goto") (statement_identifier "LAB_0011ea90") (; ";")) (} "}"))) (expression_statement "piVar10 = apiStack_60[1];" (assignment_expression "piVar10 = apiStack_60[1]" (identifier "piVar10") (= "=") (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        ppiVar12 = apiStack_60;\n        piVar10 = 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        ppiVar12 = apiStack_60;\n        piVar10 = 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 "ppiVar12 = apiStack_60;" (assignment_expression "ppiVar12 = apiStack_60" (identifier "ppiVar12") (= "=") (identifier "apiStack_60")) (; ";")) (expression_statement "piVar10 = apiStack_60[1];" (assignment_expression "piVar10 = apiStack_60[1]" (identifier "piVar10") (= "=") (subscript_expression "apiStack_60[1]" (identifier "apiStack_60") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "ppiVar12[1] = piVar10;" (assignment_expression "ppiVar12[1] = piVar10" (subscript_expression "ppiVar12[1]" (identifier "ppiVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "piVar10")) (; ";")) (expression_statement "ppiVar12[10] = ppiVar12[0x19];" (assignment_expression "ppiVar12[10] = ppiVar12[0x19]" (subscript_expression "ppiVar12[10]" (identifier "ppiVar12") ([ "[") (number_literal "10") (] "]")) (= "=") (subscript_expression "ppiVar12[0x19]" (identifier "ppiVar12") ([ "[") (number_literal "0x19") (] "]"))) (; ";")) (expression_statement "ppiVar12[0xb] = ppiVar12[0x1a];" (assignment_expression "ppiVar12[0xb] = ppiVar12[0x1a]" (subscript_expression "ppiVar12[0xb]" (identifier "ppiVar12") ([ "[") (number_literal "0xb") (] "]")) (= "=") (subscript_expression "ppiVar12[0x1a]" (identifier "ppiVar12") ([ "[") (number_literal "0x1a") (] "]"))) (; ";")) (expression_statement "ppiVar12[-2] = (int *)local_34;" (assignment_expression "ppiVar12[-2] = (int *)local_34" (subscript_expression "ppiVar12[-2]" (identifier "ppiVar12") ([ "[") (number_literal "-2") (] "]")) (= "=") (cast_expression "(int *)local_34" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_34"))) (; ";")) (expression_statement "ppiVar12[-3] = ppiVar12[0x18] + 0x81;" (assignment_expression "ppiVar12[-3] = ppiVar12[0x18] + 0x81" (subscript_expression "ppiVar12[-3]" (identifier "ppiVar12") ([ "[") (number_literal "-3") (] "]")) (= "=") (binary_expression "ppiVar12[0x18] + 0x81" (subscript_expression "ppiVar12[0x18]" (identifier "ppiVar12") ([ "[") (number_literal "0x18") (] "]")) (+ "+") (number_literal "0x81"))) (; ";")) (expression_statement "ppiVar12[-4] = (int *)(ppiVar12 + 7);" (assignment_expression "ppiVar12[-4] = (int *)(ppiVar12 + 7)" (subscript_expression "ppiVar12[-4]" (identifier "ppiVar12") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(int *)(ppiVar12 + 7)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppiVar12 + 7)" (( "(") (binary_expression "ppiVar12 + 7" (identifier "ppiVar12") (+ "+") (number_literal "7")) () ")")))) (; ";")) (expression_statement "ppiVar12[-5] = (int *)0x11e9c5;" (assignment_expression "ppiVar12[-5] = (int *)0x11e9c5" (subscript_expression "ppiVar12[-5]" (identifier "ppiVar12") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(int *)0x11e9c5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x11e9c5"))) (; ";")) (expression_statement "FUN_001196a0();" (call_expression "FUN_001196a0()" (identifier "FUN_001196a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar10 = ppiVar12[6];" (assignment_expression "piVar10 = ppiVar12[6]" (identifier "piVar10") (= "=") (subscript_expression "ppiVar12[6]" (identifier "ppiVar12") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "ppiVar14 = ppiVar12 + -1;" (assignment_expression "ppiVar14 = ppiVar12 + -1" (identifier "ppiVar14") (= "=") (binary_expression "ppiVar12 + -1" (identifier "ppiVar12") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (piVar10 == ppiVar12[0x17] + 0x82) {\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }" (if "if") (parenthesized_expression "(piVar10 == ppiVar12[0x17] + 0x82)" (( "(") (binary_expression "piVar10 == ppiVar12[0x17] + 0x82" (identifier "piVar10") (== "==") (binary_expression "ppiVar12[0x17] + 0x82" (subscript_expression "ppiVar12[0x17]" (identifier "ppiVar12") ([ "[") (number_literal "0x17") (] "]")) (+ "+") (number_literal "0x82"))) () ")")) (compound_statement "{\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)0x0;\n      ppiVar12[-6] = (int *)0x0;\n      ppiVar12[-7] = (int *)0x1;\n      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);\n      ppiVar12[-8] = (int *)0x0;\n      ppiVar12[-9] = (int *)uVar5;\n      ppiVar12[-10] = ppiVar12[0x1c];\n      ppiVar12[-0xb] = ppiVar12[0x1a];\n      ppiVar12[-0xc] = ppiVar12[0x18];\n      ppiVar12[-0xd] = ppiVar12[0x17];\n      ppiVar12[-0xe] = (int *)0x11ed4e;\n      iVar6 = FUN_00110ae0();\n      ppiVar13 = ppiVar12 + -1;\n      apiStack_60[1] = *ppiVar12;\n      if (iVar6 == 0) {\n        return 0;\n      }\n    }" ({ "{") (expression_statement "ppiVar12[-3] = (int *)0x1;" (assignment_expression "ppiVar12[-3] = (int *)0x1" (subscript_expression "ppiVar12[-3]" (identifier "ppiVar12") ([ "[") (number_literal "-3") (] "]")) (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "ppiVar12[-4] = (int *)0x0;" (assignment_expression "ppiVar12[-4] = (int *)0x0" (subscript_expression "ppiVar12[-4]" (identifier "ppiVar12") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar12[-5] = (int *)0x0;" (assignment_expression "ppiVar12[-5] = (int *)0x0" (subscript_expression "ppiVar12[-5]" (identifier "ppiVar12") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar12[-6] = (int *)0x0;" (assignment_expression "ppiVar12[-6] = (int *)0x0" (subscript_expression "ppiVar12[-6]" (identifier "ppiVar12") ([ "[") (number_literal "-6") (] "]")) (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar12[-7] = (int *)0x1;" (assignment_expression "ppiVar12[-7] = (int *)0x1" (subscript_expression "ppiVar12[-7]" (identifier "ppiVar12") ([ "[") (number_literal "-7") (] "]")) (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);" (assignment_expression "uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(*ppiVar12[0x1b] + 8)" (* "*") (cast_expression "(undefined4 *)(*ppiVar12[0x1b] + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*ppiVar12[0x1b] + 8)" (( "(") (binary_expression "*ppiVar12[0x1b] + 8" (pointer_expression "*ppiVar12[0x1b]" (* "*") (subscript_expression "ppiVar12[0x1b]" (identifier "ppiVar12") ([ "[") (number_literal "0x1b") (] "]"))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "ppiVar12[-8] = (int *)0x0;" (assignment_expression "ppiVar12[-8] = (int *)0x0" (subscript_expression "ppiVar12[-8]" (identifier "ppiVar12") ([ "[") (number_literal "-8") (] "]")) (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar12[-9] = (int *)uVar5;" (assignment_expression "ppiVar12[-9] = (int *)uVar5" (subscript_expression "ppiVar12[-9]" (identifier "ppiVar12") ([ "[") (number_literal "-9") (] "]")) (= "=") (cast_expression "(int *)uVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar5"))) (; ";")) (expression_statement "ppiVar12[-10] = ppiVar12[0x1c];" (assignment_expression "ppiVar12[-10] = ppiVar12[0x1c]" (subscript_expression "ppiVar12[-10]" (identifier "ppiVar12") ([ "[") (number_literal "-10") (] "]")) (= "=") (subscript_expression "ppiVar12[0x1c]" (identifier "ppiVar12") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (expression_statement "ppiVar12[-0xb] = ppiVar12[0x1a];" (assignment_expression "ppiVar12[-0xb] = ppiVar12[0x1a]" (subscript_expression "ppiVar12[-0xb]" (identifier "ppiVar12") ([ "[") (number_literal "-0xb") (] "]")) (= "=") (subscript_expression "ppiVar12[0x1a]" (identifier "ppiVar12") ([ "[") (number_literal "0x1a") (] "]"))) (; ";")) (expression_statement "ppiVar12[-0xc] = ppiVar12[0x18];" (assignment_expression "ppiVar12[-0xc] = ppiVar12[0x18]" (subscript_expression "ppiVar12[-0xc]" (identifier "ppiVar12") ([ "[") (number_literal "-0xc") (] "]")) (= "=") (subscript_expression "ppiVar12[0x18]" (identifier "ppiVar12") ([ "[") (number_literal "0x18") (] "]"))) (; ";")) (expression_statement "ppiVar12[-0xd] = ppiVar12[0x17];" (assignment_expression "ppiVar12[-0xd] = ppiVar12[0x17]" (subscript_expression "ppiVar12[-0xd]" (identifier "ppiVar12") ([ "[") (number_literal "-0xd") (] "]")) (= "=") (subscript_expression "ppiVar12[0x17]" (identifier "ppiVar12") ([ "[") (number_literal "0x17") (] "]"))) (; ";")) (expression_statement "ppiVar12[-0xe] = (int *)0x11ed4e;" (assignment_expression "ppiVar12[-0xe] = (int *)0x11ed4e" (subscript_expression "ppiVar12[-0xe]" (identifier "ppiVar12") ([ "[") (number_literal "-0xe") (] "]")) (= "=") (cast_expression "(int *)0x11ed4e" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x11ed4e"))) (; ";")) (expression_statement "iVar6 = FUN_00110ae0();" (assignment_expression "iVar6 = FUN_00110ae0()" (identifier "iVar6") (= "=") (call_expression "FUN_00110ae0()" (identifier "FUN_00110ae0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "ppiVar13 = ppiVar12 + -1;" (assignment_expression "ppiVar13 = ppiVar12 + -1" (identifier "ppiVar13") (= "=") (binary_expression "ppiVar12 + -1" (identifier "ppiVar12") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "apiStack_60[1] = *ppiVar12;" (assignment_expression "apiStack_60[1] = *ppiVar12" (subscript_expression "apiStack_60[1]" (identifier "apiStack_60") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*ppiVar12" (* "*") (identifier "ppiVar12"))) (; ";")) (if_statement "if (iVar6 == 0) {\n        return 0;\n      }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return 0;\n      }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }" (else "else") (compound_statement "{\n      iVar6 = *(int *)(**ppiVar12 + 8);\n      if (iVar6 == 0) {\nLAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }\n      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;\n      if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }\n      puVar2 = (undefined4 *)piVar10[6];\n      *ppiVar12 = *ppiVar12;\n      ppiVar12[-2] = (int *)local_34;\n      ppiVar12[-3] = (int *)0x1;\n      ppiVar12[-4] = (int *)*puVar2;\n      ppiVar12[-5] = ppiVar12[0x17] + 2;\n      ppiVar12[-6] = (int *)0x11ea2b;\n      uVar5 = FUN_001e3f80();\n      ppiVar12[-2] = (int *)0x0;\n      ppiVar12[-3] = (int *)0x0;\n      ppiVar12[-4] = (int *)0x0;\n      ppiVar12[-5] = (int *)uVar17;\n      ppiVar12[-6] = ppiVar12[0x1c];\n      ppiVar12[-7] = ppiVar12[9];\n      ppiVar12[-8] = (int *)uVar5;\n      ppiVar12[-9] = ppiVar12[0x17];\n      ppiVar12[-10] = (int *)0x11ea49;\n      iVar6 = FUN_00110850();\n      apiStack_60[1] = *ppiVar12;\n      ppiVar13 = ppiVar12 + -1;\n      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }\n    }" ({ "{") (expression_statement "iVar6 = *(int *)(**ppiVar12 + 8);" (assignment_expression "iVar6 = *(int *)(**ppiVar12 + 8)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(**ppiVar12 + 8)" (* "*") (cast_expression "(int *)(**ppiVar12 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**ppiVar12 + 8)" (( "(") (binary_expression "**ppiVar12 + 8" (pointer_expression "**ppiVar12" (* "*") (pointer_expression "*ppiVar12" (* "*") (identifier "ppiVar12"))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar6 == 0) {\nLAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;\n        FUN_00106b00();\n      }" ({ "{") (labeled_statement "LAB_0011efcb:\n                    \n        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;" (statement_identifier "LAB_0011efcb") (: ":") (expression_statement "*(code **)((int)ppiVar14 + -4) = FUN_0011efd0;" (assignment_expression "*(code **)((int)ppiVar14 + -4) = FUN_0011efd0" (pointer_expression "*(code **)((int)ppiVar14 + -4)" (* "*") (cast_expression "(code **)((int)ppiVar14 + -4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar14 + -4)" (( "(") (binary_expression "(int)ppiVar14 + -4" (cast_expression "(int)ppiVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar14")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "FUN_0011efd0")) (; ";"))) (expression_statement "FUN_00106b00();" (call_expression "FUN_00106b00()" (identifier "FUN_00106b00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;" (assignment_expression "uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f" (identifier "uVar17") (= "=") (binary_expression "*(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f" (pointer_expression "*(uint *)(*ppiVar12[0x1b] + 8)" (* "*") (cast_expression "(uint *)(*ppiVar12[0x1b] + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*ppiVar12[0x1b] + 8)" (( "(") (binary_expression "*ppiVar12[0x1b] + 8" (pointer_expression "*ppiVar12[0x1b]" (* "*") (subscript_expression "ppiVar12[0x1b]" (identifier "ppiVar12") ([ "[") (number_literal "0x1b") (] "]"))) (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "0xfffff50f"))) (; ";")) (if_statement "if (*(char *)(iVar6 + 0x318d) != '\0') {\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }" (if "if") (parenthesized_expression "(*(char *)(iVar6 + 0x318d) != '\0')" (( "(") (binary_expression "*(char *)(iVar6 + 0x318d) != '\0'" (pointer_expression "*(char *)(iVar6 + 0x318d)" (* "*") (cast_expression "(char *)(iVar6 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x318d)" (( "(") (binary_expression "iVar6 + 0x318d" (identifier "iVar6") (+ "+") (number_literal "0x318d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;\n      }" ({ "{") (expression_statement "uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;" (assignment_expression "uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f" (identifier "uVar17") (= "=") (binary_expression "*(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f" (pointer_expression "*(uint *)(*ppiVar12[0x1b] + 8)" (* "*") (cast_expression "(uint *)(*ppiVar12[0x1b] + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*ppiVar12[0x1b] + 8)" (( "(") (binary_expression "*ppiVar12[0x1b] + 8" (pointer_expression "*ppiVar12[0x1b]" (* "*") (subscript_expression "ppiVar12[0x1b]" (identifier "ppiVar12") ([ "[") (number_literal "0x1b") (] "]"))) (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "0xfffff58f"))) (; ";")) (} "}"))) (expression_statement "puVar2 = (undefined4 *)piVar10[6];" (assignment_expression "puVar2 = (undefined4 *)piVar10[6]" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)piVar10[6]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar10[6]" (identifier "piVar10") ([ "[") (number_literal "6") (] "]")))) (; ";")) (expression_statement "*ppiVar12 = *ppiVar12;" (assignment_expression "*ppiVar12 = *ppiVar12" (pointer_expression "*ppiVar12" (* "*") (identifier "ppiVar12")) (= "=") (pointer_expression "*ppiVar12" (* "*") (identifier "ppiVar12"))) (; ";")) (expression_statement "ppiVar12[-2] = (int *)local_34;" (assignment_expression "ppiVar12[-2] = (int *)local_34" (subscript_expression "ppiVar12[-2]" (identifier "ppiVar12") ([ "[") (number_literal "-2") (] "]")) (= "=") (cast_expression "(int *)local_34" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_34"))) (; ";")) (expression_statement "ppiVar12[-3] = (int *)0x1;" (assignment_expression "ppiVar12[-3] = (int *)0x1" (subscript_expression "ppiVar12[-3]" (identifier "ppiVar12") ([ "[") (number_literal "-3") (] "]")) (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "ppiVar12[-4] = (int *)*puVar2;" (assignment_expression "ppiVar12[-4] = (int *)*puVar2" (subscript_expression "ppiVar12[-4]" (identifier "ppiVar12") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(int *)*puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")))) (; ";")) (expression_statement "ppiVar12[-5] = ppiVar12[0x17] + 2;" (assignment_expression "ppiVar12[-5] = ppiVar12[0x17] + 2" (subscript_expression "ppiVar12[-5]" (identifier "ppiVar12") ([ "[") (number_literal "-5") (] "]")) (= "=") (binary_expression "ppiVar12[0x17] + 2" (subscript_expression "ppiVar12[0x17]" (identifier "ppiVar12") ([ "[") (number_literal "0x17") (] "]")) (+ "+") (number_literal "2"))) (; ";")) (expression_statement "ppiVar12[-6] = (int *)0x11ea2b;" (assignment_expression "ppiVar12[-6] = (int *)0x11ea2b" (subscript_expression "ppiVar12[-6]" (identifier "ppiVar12") ([ "[") (number_literal "-6") (] "]")) (= "=") (cast_expression "(int *)0x11ea2b" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x11ea2b"))) (; ";")) (expression_statement "uVar5 = FUN_001e3f80();" (assignment_expression "uVar5 = FUN_001e3f80()" (identifier "uVar5") (= "=") (call_expression "FUN_001e3f80()" (identifier "FUN_001e3f80") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "ppiVar12[-2] = (int *)0x0;" (assignment_expression "ppiVar12[-2] = (int *)0x0" (subscript_expression "ppiVar12[-2]" (identifier "ppiVar12") ([ "[") (number_literal "-2") (] "]")) (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar12[-3] = (int *)0x0;" (assignment_expression "ppiVar12[-3] = (int *)0x0" (subscript_expression "ppiVar12[-3]" (identifier "ppiVar12") ([ "[") (number_literal "-3") (] "]")) (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar12[-4] = (int *)0x0;" (assignment_expression "ppiVar12[-4] = (int *)0x0" (subscript_expression "ppiVar12[-4]" (identifier "ppiVar12") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar12[-5] = (int *)uVar17;" (assignment_expression "ppiVar12[-5] = (int *)uVar17" (subscript_expression "ppiVar12[-5]" (identifier "ppiVar12") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(int *)uVar17" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar17"))) (; ";")) (expression_statement "ppiVar12[-6] = ppiVar12[0x1c];" (assignment_expression "ppiVar12[-6] = ppiVar12[0x1c]" (subscript_expression "ppiVar12[-6]" (identifier "ppiVar12") ([ "[") (number_literal "-6") (] "]")) (= "=") (subscript_expression "ppiVar12[0x1c]" (identifier "ppiVar12") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (expression_statement "ppiVar12[-7] = ppiVar12[9];" (assignment_expression "ppiVar12[-7] = ppiVar12[9]" (subscript_expression "ppiVar12[-7]" (identifier "ppiVar12") ([ "[") (number_literal "-7") (] "]")) (= "=") (subscript_expression "ppiVar12[9]" (identifier "ppiVar12") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "ppiVar12[-8] = (int *)uVar5;" (assignment_expression "ppiVar12[-8] = (int *)uVar5" (subscript_expression "ppiVar12[-8]" (identifier "ppiVar12") ([ "[") (number_literal "-8") (] "]")) (= "=") (cast_expression "(int *)uVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar5"))) (; ";")) (expression_statement "ppiVar12[-9] = ppiVar12[0x17];" (assignment_expression "ppiVar12[-9] = ppiVar12[0x17]" (subscript_expression "ppiVar12[-9]" (identifier "ppiVar12") ([ "[") (number_literal "-9") (] "]")) (= "=") (subscript_expression "ppiVar12[0x17]" (identifier "ppiVar12") ([ "[") (number_literal "0x17") (] "]"))) (; ";")) (expression_statement "ppiVar12[-10] = (int *)0x11ea49;" (assignment_expression "ppiVar12[-10] = (int *)0x11ea49" (subscript_expression "ppiVar12[-10]" (identifier "ppiVar12") ([ "[") (number_literal "-10") (] "]")) (= "=") (cast_expression "(int *)0x11ea49" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x11ea49"))) (; ";")) (expression_statement "iVar6 = FUN_00110850();" (assignment_expression "iVar6 = FUN_00110850()" (identifier "iVar6") (= "=") (call_expression "FUN_00110850()" (identifier "FUN_00110850") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "apiStack_60[1] = *ppiVar12;" (assignment_expression "apiStack_60[1] = *ppiVar12" (subscript_expression "apiStack_60[1]" (identifier "apiStack_60") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*ppiVar12" (* "*") (identifier "ppiVar12"))) (; ";")) (expression_statement "ppiVar13 = ppiVar12 + -1;" (assignment_expression "ppiVar13 = ppiVar12 + -1" (identifier "ppiVar13") (= "=") (binary_expression "ppiVar12 + -1" (identifier "ppiVar12") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (-1 < (char)*(byte *)(iVar6 + 0x92)) {\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }" (if "if") (parenthesized_expression "(-1 < (char)*(byte *)(iVar6 + 0x92))" (( "(") (binary_expression "-1 < (char)*(byte *)(iVar6 + 0x92)" (number_literal "-1") (< "<") (cast_expression "(char)*(byte *)(iVar6 + 0x92)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)(iVar6 + 0x92)" (* "*") (cast_expression "(byte *)(iVar6 + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x92)" (( "(") (binary_expression "iVar6 + 0x92" (identifier "iVar6") (+ "+") (number_literal "0x92")) () ")")))))) () ")")) (compound_statement "{\n        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;\n        iVar9 = piVar10[6];\n        uVar5 = *(undefined4 *)(iVar9 + 8);\n        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);\n        uVar3 = *(undefined4 *)(iVar9 + 0xc);\n        *(undefined4 *)(iVar6 + 0xa0) = uVar5;\n        uVar5 = *(undefined4 *)(iVar9 + 0x10);\n        *(undefined4 *)(iVar6 + 0xa4) = uVar3;\n        *(undefined4 *)(iVar6 + 0xa8) = uVar5;\n        ppiVar13 = ppiVar12 + -1;\n      }" ({ "{") (expression_statement "*(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;" (assignment_expression "*(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar6 + 0x92)" (* "*") (cast_expression "(byte *)(iVar6 + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x92)" (( "(") (binary_expression "iVar6 + 0x92" (identifier "iVar6") (+ "+") (number_literal "0x92")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar6 + 0x92) | 0x80" (pointer_expression "*(byte *)(iVar6 + 0x92)" (* "*") (cast_expression "(byte *)(iVar6 + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x92)" (( "(") (binary_expression "iVar6 + 0x92" (identifier "iVar6") (+ "+") (number_literal "0x92")) () ")")))) (| "|") (number_literal "0x80"))) (; ";")) (expression_statement "iVar9 = piVar10[6];" (assignment_expression "iVar9 = piVar10[6]" (identifier "iVar9") (= "=") (subscript_expression "piVar10[6]" (identifier "piVar10") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "uVar5 = *(undefined4 *)(iVar9 + 8);" (assignment_expression "uVar5 = *(undefined4 *)(iVar9 + 8)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 8)" (( "(") (binary_expression "iVar9 + 8" (identifier "iVar9") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);" (assignment_expression "*(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4)" (pointer_expression "*(undefined4 *)(iVar6 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x9c)" (( "(") (binary_expression "iVar6 + 0x9c" (identifier "iVar6") (+ "+") (number_literal "0x9c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 4)" (( "(") (binary_expression "iVar9 + 4" (identifier "iVar9") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(iVar9 + 0xc);" (assignment_expression "uVar3 = *(undefined4 *)(iVar9 + 0xc)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xc)" (( "(") (binary_expression "iVar9 + 0xc" (identifier "iVar9") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 0xa0) = uVar5;" (assignment_expression "*(undefined4 *)(iVar6 + 0xa0) = uVar5" (pointer_expression "*(undefined4 *)(iVar6 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xa0)" (( "(") (binary_expression "iVar6 + 0xa0" (identifier "iVar6") (+ "+") (number_literal "0xa0")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "uVar5 = *(undefined4 *)(iVar9 + 0x10);" (assignment_expression "uVar5 = *(undefined4 *)(iVar9 + 0x10)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x10)" (( "(") (binary_expression "iVar9 + 0x10" (identifier "iVar9") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 0xa4) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + 0xa4) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xa4)" (( "(") (binary_expression "iVar6 + 0xa4" (identifier "iVar6") (+ "+") (number_literal "0xa4")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 0xa8) = uVar5;" (assignment_expression "*(undefined4 *)(iVar6 + 0xa8) = uVar5" (pointer_expression "*(undefined4 *)(iVar6 + 0xa8)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0xa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xa8)" (( "(") (binary_expression "iVar6 + 0xa8" (identifier "iVar6") (+ "+") (number_literal "0xa8")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "ppiVar13 = ppiVar12 + -1;" (assignment_expression "ppiVar13 = ppiVar12 + -1" (identifier "ppiVar13") (= "=") (binary_expression "ppiVar12 + -1" (identifier "ppiVar12") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else {\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);\n    ppiVar13 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }" (else "else") (compound_statement "{\n    apiStack_60[0] = (int *)0x0;\n    apiStack_60[2] = &DAT_004144e8;\n    uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);\n    iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);\n    ppiVar13 = apiStack_60 + 1;\n    apiStack_60[1] = apiStack_60[2];\n  }" ({ "{") (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 "uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);" (assignment_expression "uVar5 = FUN_001e3f80(param_1 + 8,param_4,1)" (identifier "uVar5") (= "=") (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 "iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);" (assignment_expression "iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0)" (identifier "iVar6") (= "=") (call_expression "FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0)" (identifier "FUN_0010c350") (argument_list "(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0)" (( "(") (identifier "param_1") (, ",") (identifier "uVar5") (, ",") (identifier "param_6") (, ",") (binary_expression "uVar1 & 0xfffff7ff" (identifier "uVar1") (& "&") (number_literal "0xfffff7ff")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "ppiVar13 = apiStack_60 + 1;" (assignment_expression "ppiVar13 = apiStack_60 + 1" (identifier "ppiVar13") (= "=") (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_0011ea90:\n  piVar10 = (int *)ppiVar13[0x18][1];" (statement_identifier "LAB_0011ea90") (: ":") (expression_statement "piVar10 = (int *)ppiVar13[0x18][1];" (assignment_expression "piVar10 = (int *)ppiVar13[0x18][1]" (identifier "piVar10") (= "=") (cast_expression "(int *)ppiVar13[0x18][1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar13[0x18][1]" (subscript_expression "ppiVar13[0x18]" (identifier "ppiVar13") ([ "[") (number_literal "0x18") (] "]")) ([ "[") (number_literal "1") (] "]")))) (; ";"))) (expression_statement "piVar11 = *(int **)(*apiStack_60[1] + 8);" (assignment_expression "piVar11 = *(int **)(*apiStack_60[1] + 8)" (identifier "piVar11") (= "=") (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 "ppiVar13[1] = piVar10;" (assignment_expression "ppiVar13[1] = piVar10" (subscript_expression "ppiVar13[1]" (identifier "ppiVar13") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "piVar10")) (; ";")) (expression_statement "bVar8 = *(byte *)(piVar10 + 0x2b);" (assignment_expression "bVar8 = *(byte *)(piVar10 + 0x2b)" (identifier "bVar8") (= "=") (pointer_expression "*(byte *)(piVar10 + 0x2b)" (* "*") (cast_expression "(byte *)(piVar10 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar10 + 0x2b)" (( "(") (binary_expression "piVar10 + 0x2b" (identifier "piVar10") (+ "+") (number_literal "0x2b")) () ")"))))) (; ";")) (expression_statement "uVar17 = (uint)bVar8;" (assignment_expression "uVar17 = (uint)bVar8" (identifier "uVar17") (= "=") (cast_expression "(uint)bVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar8"))) (; ";")) (if_statement "if (bVar8 != 0) {\n    if (piVar11 == (int *)0x0) goto LAB_0011ef08;\n    goto LAB_0011ebc2;\n  }" (if "if") (parenthesized_expression "(bVar8 != 0)" (( "(") (binary_expression "bVar8 != 0" (identifier "bVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (piVar11 == (int *)0x0) goto LAB_0011ef08;\n    goto LAB_0011ebc2;\n  }" ({ "{") (if_statement "if (piVar11 == (int *)0x0) goto LAB_0011ef08;" (if "if") (parenthesized_expression "(piVar11 == (int *)0x0)" (( "(") (binary_expression "piVar11 == (int *)0x0" (identifier "piVar11") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0011ef08;" (goto "goto") (statement_identifier "LAB_0011ef08") (; ";"))) (goto_statement "goto LAB_0011ebc2;" (goto "goto") (statement_identifier "LAB_0011ebc2") (; ";")) (} "}"))) (if_statement "if (piVar11 == (int *)0x0) {\nLAB_0011ef08:\n    ppiVar13[0xffffffff] = (int *)uVar17;\n    ppiVar13[0xfffffffe] = (int *)"options";\n    ppiVar13[0xfffffffd] = (int *)0x5c;\n    ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    \n    ppiVar13[0xfffffffb] = (int *)0x11ef1e;\n    FUN_000da200();\n  }" (if "if") (parenthesized_expression "(piVar11 == (int *)0x0)" (( "(") (binary_expression "piVar11 == (int *)0x0" (identifier "piVar11") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0011ef08:\n    ppiVar13[0xffffffff] = (int *)uVar17;\n    ppiVar13[0xfffffffe] = (int *)"options";\n    ppiVar13[0xfffffffd] = (int *)0x5c;\n    ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h";\n                    \n    ppiVar13[0xfffffffb] = (int *)0x11ef1e;\n    FUN_000da200();\n  }" ({ "{") (labeled_statement "LAB_0011ef08:\n    ppiVar13[0xffffffff] = (int *)uVar17;" (statement_identifier "LAB_0011ef08") (: ":") (expression_statement "ppiVar13[0xffffffff] = (int *)uVar17;" (assignment_expression "ppiVar13[0xffffffff] = (int *)uVar17" (subscript_expression "ppiVar13[0xffffffff]" (identifier "ppiVar13") ([ "[") (number_literal "0xffffffff") (] "]")) (= "=") (cast_expression "(int *)uVar17" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar17"))) (; ";"))) (expression_statement "ppiVar13[0xfffffffe] = (int *)"options";" (assignment_expression "ppiVar13[0xfffffffe] = (int *)"options"" (subscript_expression "ppiVar13[0xfffffffe]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffffe") (] "]")) (= "=") (cast_expression "(int *)"options"" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""options"" (" """) (string_content "options") (" """)))) (; ";")) (expression_statement "ppiVar13[0xfffffffd] = (int *)0x5c;" (assignment_expression "ppiVar13[0xfffffffd] = (int *)0x5c" (subscript_expression "ppiVar13[0xfffffffd]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffffd") (] "]")) (= "=") (cast_expression "(int *)0x5c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x5c"))) (; ";")) (expression_statement "ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h";" (assignment_expression "ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h"" (subscript_expression "ppiVar13[0xfffffffc]" (identifier "ppiVar13") ([ "[") (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 "ppiVar13[0xfffffffb] = (int *)0x11ef1e;" (assignment_expression "ppiVar13[0xfffffffb] = (int *)0x11ef1e" (subscript_expression "ppiVar13[0xfffffffb]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffffb") (] "]")) (= "=") (cast_expression "(int *)0x11ef1e" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x11ef1e"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar20 = false;" (assignment_expression "bVar20 = false" (identifier "bVar20") (= "=") (false "false")) (; ";")) (expression_statement "bVar23 = *(char *)((int)piVar11 + 0x318d) == '\0';" (assignment_expression "bVar23 = *(char *)((int)piVar11 + 0x318d) == '\0'" (identifier "bVar23") (= "=") (binary_expression "*(char *)((int)piVar11 + 0x318d) == '\0'" (pointer_expression "*(char *)((int)piVar11 + 0x318d)" (* "*") (cast_expression "(char *)((int)piVar11 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar11 + 0x318d)" (( "(") (binary_expression "(int)piVar11 + 0x318d" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (number_literal "0x318d")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (if_statement "if (!bVar23) goto LAB_0011edf0;" (if "if") (parenthesized_expression "(!bVar23)" (( "(") (unary_expression "!bVar23" (! "!") (identifier "bVar23")) () ")")) (goto_statement "goto LAB_0011edf0;" (goto "goto") (statement_identifier "LAB_0011edf0") (; ";"))) (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" (identifier "iVar9") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar15 = (byte *)".ctors.";" (assignment_expression "pbVar15 = (byte *)".ctors."" (identifier "pbVar15") (= "=") (cast_expression "(byte *)".ctors."" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".ctors."" (" """) (string_content ".ctors.") (" """)))) (; ";")) (expression_statement "pbVar18 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar13[0x1b]" (identifier "pbVar18") (= "=") (cast_expression "(byte *)ppiVar13[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar13[0x1b]" (identifier "ppiVar13") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (do_statement "do {\n    if (iVar9 == 0) break;\n    iVar9 = iVar9 + -1;\n    bVar20 = *pbVar15 < *pbVar18;\n    bVar23 = *pbVar15 == *pbVar18;\n    pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n    pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n  } while (bVar23);" (do "do") (compound_statement "{\n    if (iVar9 == 0) break;\n    iVar9 = iVar9 + -1;\n    bVar20 = *pbVar15 < *pbVar18;\n    bVar23 = *pbVar15 == *pbVar18;\n    pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n    pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n  }" ({ "{") (if_statement "if (iVar9 == 0) break;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar20 = *pbVar15 < *pbVar18;" (assignment_expression "bVar20 = *pbVar15 < *pbVar18" (identifier "bVar20") (= "=") (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (< "<") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "bVar23 = *pbVar15 == *pbVar18;" (assignment_expression "bVar23 = *pbVar15 == *pbVar18" (identifier "bVar23") (= "=") (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (== "==") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" (identifier "pbVar15") (= "=") (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" (identifier "pbVar15") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar23)" (( "(") (identifier "bVar23") () ")")) (; ";")) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" (identifier "bVar21") (= "=") (false "false")) (; ";")) (expression_statement "bVar20 = (!bVar20 && !bVar23) == bVar20;" (assignment_expression "bVar20 = (!bVar20 && !bVar23) == bVar20" (identifier "bVar20") (= "=") (binary_expression "(!bVar20 && !bVar23) == bVar20" (parenthesized_expression "(!bVar20 && !bVar23)" (( "(") (binary_expression "!bVar20 && !bVar23" (unary_expression "!bVar20" (! "!") (identifier "bVar20")) (&& "&&") (unary_expression "!bVar23" (! "!") (identifier "bVar23"))) () ")")) (== "==") (identifier "bVar20"))) (; ";")) (if_statement "if (bVar20) {\nLAB_0011eb78:\n    *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n    bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n    uVar17 = (uint)bVar8;\n    if (*(char *)((int)piVar11 + 0x3ced) == '\0') {\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }\n    if (bVar8 != 0) goto LAB_0011ebc2;\nLAB_0011eb9d:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\n    if (*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0') goto LAB_0011ee04;\n    if (cVar4 == '\0') {\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }\n  }\n  else {\n    iVar9 = 7;\n    pbVar15 = (byte *)".dtors.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar23 = false;\n    bVar20 = (!bVar21 && !bVar20) == bVar21;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".init_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar21 = false;\n    bVar20 = (!bVar23 && !bVar20) == bVar23;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".fini_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;\n    bVar20 = false;\n    bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';\n    if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }\nLAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;\nLAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\nLAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (compound_statement "{\nLAB_0011eb78:\n    *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n    bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n    uVar17 = (uint)bVar8;\n    if (*(char *)((int)piVar11 + 0x3ced) == '\0') {\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }\n    if (bVar8 != 0) goto LAB_0011ebc2;\nLAB_0011eb9d:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\n    if (*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0') goto LAB_0011ee04;\n    if (cVar4 == '\0') {\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }\n  }" ({ "{") (labeled_statement "LAB_0011eb78:\n    *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;" (statement_identifier "LAB_0011eb78") (: ":") (expression_statement "*(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;" (assignment_expression "*(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8" (pointer_expression "*(byte *)(iVar6 + 0x91)" (* "*") (cast_expression "(byte *)(iVar6 + 0x91)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x91)" (( "(") (binary_expression "iVar6 + 0x91" (identifier "iVar6") (+ "+") (number_literal "0x91")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar6 + 0x91) | 8" (pointer_expression "*(byte *)(iVar6 + 0x91)" (* "*") (cast_expression "(byte *)(iVar6 + 0x91)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x91)" (( "(") (binary_expression "iVar6 + 0x91" (identifier "iVar6") (+ "+") (number_literal "0x91")) () ")")))) (| "|") (number_literal "8"))) (; ";"))) (expression_statement "bVar8 = *(byte *)(ppiVar13[1] + 0x2b);" (assignment_expression "bVar8 = *(byte *)(ppiVar13[1] + 0x2b)" (identifier "bVar8") (= "=") (pointer_expression "*(byte *)(ppiVar13[1] + 0x2b)" (* "*") (cast_expression "(byte *)(ppiVar13[1] + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppiVar13[1] + 0x2b)" (( "(") (binary_expression "ppiVar13[1] + 0x2b" (subscript_expression "ppiVar13[1]" (identifier "ppiVar13") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x2b")) () ")"))))) (; ";")) (expression_statement "uVar17 = (uint)bVar8;" (assignment_expression "uVar17 = (uint)bVar8" (identifier "uVar17") (= "=") (cast_expression "(uint)bVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar8"))) (; ";")) (if_statement "if (*(char *)((int)piVar11 + 0x3ced) == '\0') {\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }" (if "if") (parenthesized_expression "(*(char *)((int)piVar11 + 0x3ced) == '\0')" (( "(") (binary_expression "*(char *)((int)piVar11 + 0x3ced) == '\0'" (pointer_expression "*(char *)((int)piVar11 + 0x3ced)" (* "*") (cast_expression "(char *)((int)piVar11 + 0x3ced)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar11 + 0x3ced)" (( "(") (binary_expression "(int)piVar11 + 0x3ced" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (number_literal "0x3ced")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;\n      goto LAB_0011edfd;\n    }" ({ "{") (labeled_statement "LAB_0011ef39:\n      if (bVar8 != 0) goto LAB_0011ebc2;" (statement_identifier "LAB_0011ef39") (: ":") (if_statement "if (bVar8 != 0) goto LAB_0011ebc2;" (if "if") (parenthesized_expression "(bVar8 != 0)" (( "(") (binary_expression "bVar8 != 0" (identifier "bVar8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011ebc2;" (goto "goto") (statement_identifier "LAB_0011ebc2") (; ";")))) (goto_statement "goto LAB_0011edfd;" (goto "goto") (statement_identifier "LAB_0011edfd") (; ";")) (} "}"))) (if_statement "if (bVar8 != 0) goto LAB_0011ebc2;" (if "if") (parenthesized_expression "(bVar8 != 0)" (( "(") (binary_expression "bVar8 != 0" (identifier "bVar8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011ebc2;" (goto "goto") (statement_identifier "LAB_0011ebc2") (; ";"))) (labeled_statement "LAB_0011eb9d:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);" (statement_identifier "LAB_0011eb9d") (: ":") (expression_statement "cVar4 = *(char *)((int)piVar11 + 0x318d);" (assignment_expression "cVar4 = *(char *)((int)piVar11 + 0x318d)" (identifier "cVar4") (= "=") (pointer_expression "*(char *)((int)piVar11 + 0x318d)" (* "*") (cast_expression "(char *)((int)piVar11 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar11 + 0x318d)" (( "(") (binary_expression "(int)piVar11 + 0x318d" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (number_literal "0x318d")) () ")"))))) (; ";"))) (if_statement "if (*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0') goto LAB_0011ee04;" (if "if") (parenthesized_expression "(*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0')" (( "(") (binary_expression "*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0'" (pointer_expression "*(char *)((int)ppiVar13[0x18] + 0x1cd)" (* "*") (cast_expression "(char *)((int)ppiVar13[0x18] + 0x1cd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13[0x18] + 0x1cd)" (( "(") (binary_expression "(int)ppiVar13[0x18] + 0x1cd" (cast_expression "(int)ppiVar13[0x18]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppiVar13[0x18]" (identifier "ppiVar13") ([ "[") (number_literal "0x18") (] "]"))) (+ "+") (number_literal "0x1cd")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0011ee04;" (goto "goto") (statement_identifier "LAB_0011ee04") (; ";"))) (if_statement "if (cVar4 == '\0') {\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }" (if "if") (parenthesized_expression "(cVar4 == '\0')" (( "(") (binary_expression "cVar4 == '\0'" (identifier "cVar4") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      ppiVar13[3] = piVar11;\n      ppuVar16 = &PTR_s__text_unlikely_00407080;\n      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;\n      pcVar19 = ".text.unlikely";\n      sVar7 = 0xe;\n      while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }\n      piVar11 = ppiVar13[3];\n      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;\n      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);\n      uVar17 = (uint)bVar8;\n      goto LAB_0011ef39;\n    }" ({ "{") (expression_statement "ppiVar13[3] = piVar11;" (assignment_expression "ppiVar13[3] = piVar11" (subscript_expression "ppiVar13[3]" (identifier "ppiVar13") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "piVar11")) (; ";")) (expression_statement "ppuVar16 = &PTR_s__text_unlikely_00407080;" (assignment_expression "ppuVar16 = &PTR_s__text_unlikely_00407080" (identifier "ppuVar16") (= "=") (pointer_expression "&PTR_s__text_unlikely_00407080" (& "&") (identifier "PTR_s__text_unlikely_00407080"))) (; ";")) (expression_statement "ppiVar13[2] = (int *)&PTR_s_aranges_00407090;" (assignment_expression "ppiVar13[2] = (int *)&PTR_s_aranges_00407090" (subscript_expression "ppiVar13[2]" (identifier "ppiVar13") ([ "[") (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 "pcVar19 = ".text.unlikely";" (assignment_expression "pcVar19 = ".text.unlikely"" (identifier "pcVar19") (= "=") (string_literal "".text.unlikely"" (" """) (string_content ".text.unlikely") (" """))) (; ";")) (expression_statement "sVar7 = 0xe;" (assignment_expression "sVar7 = 0xe" (identifier "sVar7") (= "=") (number_literal "0xe")) (; ";")) (while_statement "while( true ) {\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        ppiVar13[0xfffffffe] = (int *)sVar7;\n        ppiVar13[0xfffffffd] = ppiVar13[0x1b];\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef7d;\n        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);\n        if (iVar9 == 0) break;\n        ppuVar16 = ppuVar16 + 1;\n        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;\n        pcVar19 = *ppuVar16;\n        ppiVar13[0xfffffffc] = (int *)pcVar19;\n        ppiVar13[0xfffffffb] = (int *)0x11ef9c;\n        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);\n      }" ({ "{") (expression_statement "ppiVar13[0xfffffffe] = (int *)sVar7;" (assignment_expression "ppiVar13[0xfffffffe] = (int *)sVar7" (subscript_expression "ppiVar13[0xfffffffe]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffffe") (] "]")) (= "=") (cast_expression "(int *)sVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "sVar7"))) (; ";")) (expression_statement "ppiVar13[0xfffffffd] = ppiVar13[0x1b];" (assignment_expression "ppiVar13[0xfffffffd] = ppiVar13[0x1b]" (subscript_expression "ppiVar13[0xfffffffd]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffffd") (] "]")) (= "=") (subscript_expression "ppiVar13[0x1b]" (identifier "ppiVar13") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (expression_statement "ppiVar13[0xfffffffc] = (int *)pcVar19;" (assignment_expression "ppiVar13[0xfffffffc] = (int *)pcVar19" (subscript_expression "ppiVar13[0xfffffffc]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffffc") (] "]")) (= "=") (cast_expression "(int *)pcVar19" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar19"))) (; ";")) (expression_statement "ppiVar13[0xfffffffb] = (int *)0x11ef7d;" (assignment_expression "ppiVar13[0xfffffffb] = (int *)0x11ef7d" (subscript_expression "ppiVar13[0xfffffffb]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffffb") (] "]")) (= "=") (cast_expression "(int *)0x11ef7d" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x11ef7d"))) (; ";")) (expression_statement "iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe]);" (assignment_expression "iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe])" (identifier "iVar9") (= "=") (call_expression "strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe])" (identifier "strncmp") (argument_list "((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],\n                        (size_t)ppiVar13[0xfffffffe])" (( "(") (cast_expression "(char *)ppiVar13[0xfffffffc]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar13[0xfffffffc]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffffc") (] "]"))) (, ",") (cast_expression "(char *)ppiVar13[0xfffffffd]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar13[0xfffffffd]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffffd") (] "]"))) (, ",") (cast_expression "(size_t)ppiVar13[0xfffffffe]" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (subscript_expression "ppiVar13[0xfffffffe]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffffe") (] "]"))) () ")")))) (; ";")) (if_statement "if (iVar9 == 0) break;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "ppuVar16 = ppuVar16 + 1;" (assignment_expression "ppuVar16 = ppuVar16 + 1" (identifier "ppuVar16") (= "=") (binary_expression "ppuVar16 + 1" (identifier "ppuVar16") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;" (if "if") (parenthesized_expression "((undefined **)ppiVar13[2] == ppuVar16)" (( "(") (binary_expression "(undefined **)ppiVar13[2] == ppuVar16" (cast_expression "(undefined **)ppiVar13[2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "ppiVar13[2]" (identifier "ppiVar13") ([ "[") (number_literal "2") (] "]"))) (== "==") (identifier "ppuVar16")) () ")")) (goto_statement "goto LAB_0011ee0c;" (goto "goto") (statement_identifier "LAB_0011ee0c") (; ";"))) (expression_statement "pcVar19 = *ppuVar16;" (assignment_expression "pcVar19 = *ppuVar16" (identifier "pcVar19") (= "=") (pointer_expression "*ppuVar16" (* "*") (identifier "ppuVar16"))) (; ";")) (expression_statement "ppiVar13[0xfffffffc] = (int *)pcVar19;" (assignment_expression "ppiVar13[0xfffffffc] = (int *)pcVar19" (subscript_expression "ppiVar13[0xfffffffc]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffffc") (] "]")) (= "=") (cast_expression "(int *)pcVar19" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar19"))) (; ";")) (expression_statement "ppiVar13[0xfffffffb] = (int *)0x11ef9c;" (assignment_expression "ppiVar13[0xfffffffb] = (int *)0x11ef9c" (subscript_expression "ppiVar13[0xfffffffb]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffffb") (] "]")) (= "=") (cast_expression "(int *)0x11ef9c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x11ef9c"))) (; ";")) (expression_statement "sVar7 = strlen((char *)ppiVar13[0xfffffffc]);" (assignment_expression "sVar7 = strlen((char *)ppiVar13[0xfffffffc])" (identifier "sVar7") (= "=") (call_expression "strlen((char *)ppiVar13[0xfffffffc])" (identifier "strlen") (argument_list "((char *)ppiVar13[0xfffffffc])" (( "(") (cast_expression "(char *)ppiVar13[0xfffffffc]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar13[0xfffffffc]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffffc") (] "]"))) () ")")))) (; ";")) (} "}"))) (expression_statement "piVar11 = ppiVar13[3];" (assignment_expression "piVar11 = ppiVar13[3]" (identifier "piVar11") (= "=") (subscript_expression "ppiVar13[3]" (identifier "ppiVar13") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;" (assignment_expression "*(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8" (pointer_expression "*(byte *)(iVar6 + 0x91)" (* "*") (cast_expression "(byte *)(iVar6 + 0x91)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x91)" (( "(") (binary_expression "iVar6 + 0x91" (identifier "iVar6") (+ "+") (number_literal "0x91")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar6 + 0x91) | 8" (pointer_expression "*(byte *)(iVar6 + 0x91)" (* "*") (cast_expression "(byte *)(iVar6 + 0x91)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x91)" (( "(") (binary_expression "iVar6 + 0x91" (identifier "iVar6") (+ "+") (number_literal "0x91")) () ")")))) (| "|") (number_literal "8"))) (; ";")) (expression_statement "bVar8 = *(byte *)(ppiVar13[1] + 0x2b);" (assignment_expression "bVar8 = *(byte *)(ppiVar13[1] + 0x2b)" (identifier "bVar8") (= "=") (pointer_expression "*(byte *)(ppiVar13[1] + 0x2b)" (* "*") (cast_expression "(byte *)(ppiVar13[1] + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppiVar13[1] + 0x2b)" (( "(") (binary_expression "ppiVar13[1] + 0x2b" (subscript_expression "ppiVar13[1]" (identifier "ppiVar13") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x2b")) () ")"))))) (; ";")) (expression_statement "uVar17 = (uint)bVar8;" (assignment_expression "uVar17 = (uint)bVar8" (identifier "uVar17") (= "=") (cast_expression "(uint)bVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar8"))) (; ";")) (goto_statement "goto LAB_0011ef39;" (goto "goto") (statement_identifier "LAB_0011ef39") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    iVar9 = 7;\n    pbVar15 = (byte *)".dtors.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar23 = false;\n    bVar20 = (!bVar21 && !bVar20) == bVar21;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".init_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar21 = false;\n    bVar20 = (!bVar23 && !bVar20) == bVar23;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".fini_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;\n    bVar20 = false;\n    bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';\n    if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }\nLAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;\nLAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\nLAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    iVar9 = 7;\n    pbVar15 = (byte *)".dtors.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar23 = false;\n    bVar20 = (!bVar21 && !bVar20) == bVar21;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".init_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    bVar21 = false;\n    bVar20 = (!bVar23 && !bVar20) == bVar23;\n    if (bVar20) goto LAB_0011eb78;\n    iVar9 = 0xc;\n    pbVar15 = (byte *)".fini_array.";\n    pbVar18 = (byte *)ppiVar13[0x1b];\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);\n    if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;\n    bVar20 = false;\n    bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';\n    if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }\nLAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;\nLAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);\nLAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }\n  }" ({ "{") (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" (identifier "iVar9") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar15 = (byte *)".dtors.";" (assignment_expression "pbVar15 = (byte *)".dtors."" (identifier "pbVar15") (= "=") (cast_expression "(byte *)".dtors."" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".dtors."" (" """) (string_content ".dtors.") (" """)))) (; ";")) (expression_statement "pbVar18 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar13[0x1b]" (identifier "pbVar18") (= "=") (cast_expression "(byte *)ppiVar13[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar13[0x1b]" (identifier "ppiVar13") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (do_statement "do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);" (do "do") (compound_statement "{\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    }" ({ "{") (if_statement "if (iVar9 == 0) break;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar21 = *pbVar15 < *pbVar18;" (assignment_expression "bVar21 = *pbVar15 < *pbVar18" (identifier "bVar21") (= "=") (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (< "<") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" (identifier "bVar20") (= "=") (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (== "==") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" (identifier "pbVar15") (= "=") (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" (identifier "pbVar15") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (; ";")) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" (identifier "bVar23") (= "=") (false "false")) (; ";")) (expression_statement "bVar20 = (!bVar21 && !bVar20) == bVar21;" (assignment_expression "bVar20 = (!bVar21 && !bVar20) == bVar21" (identifier "bVar20") (= "=") (binary_expression "(!bVar21 && !bVar20) == bVar21" (parenthesized_expression "(!bVar21 && !bVar20)" (( "(") (binary_expression "!bVar21 && !bVar20" (unary_expression "!bVar21" (! "!") (identifier "bVar21")) (&& "&&") (unary_expression "!bVar20" (! "!") (identifier "bVar20"))) () ")")) (== "==") (identifier "bVar21"))) (; ";")) (if_statement "if (bVar20) goto LAB_0011eb78;" (if "if") (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (goto_statement "goto LAB_0011eb78;" (goto "goto") (statement_identifier "LAB_0011eb78") (; ";"))) (expression_statement "iVar9 = 0xc;" (assignment_expression "iVar9 = 0xc" (identifier "iVar9") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar15 = (byte *)".init_array.";" (assignment_expression "pbVar15 = (byte *)".init_array."" (identifier "pbVar15") (= "=") (cast_expression "(byte *)".init_array."" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".init_array."" (" """) (string_content ".init_array.") (" """)))) (; ";")) (expression_statement "pbVar18 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar13[0x1b]" (identifier "pbVar18") (= "=") (cast_expression "(byte *)ppiVar13[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar13[0x1b]" (identifier "ppiVar13") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (do_statement "do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);" (do "do") (compound_statement "{\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar23 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    }" ({ "{") (if_statement "if (iVar9 == 0) break;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar23 = *pbVar15 < *pbVar18;" (assignment_expression "bVar23 = *pbVar15 < *pbVar18" (identifier "bVar23") (= "=") (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (< "<") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" (identifier "bVar20") (= "=") (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (== "==") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" (identifier "pbVar15") (= "=") (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" (identifier "pbVar15") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (; ";")) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" (identifier "bVar21") (= "=") (false "false")) (; ";")) (expression_statement "bVar20 = (!bVar23 && !bVar20) == bVar23;" (assignment_expression "bVar20 = (!bVar23 && !bVar20) == bVar23" (identifier "bVar20") (= "=") (binary_expression "(!bVar23 && !bVar20) == bVar23" (parenthesized_expression "(!bVar23 && !bVar20)" (( "(") (binary_expression "!bVar23 && !bVar20" (unary_expression "!bVar23" (! "!") (identifier "bVar23")) (&& "&&") (unary_expression "!bVar20" (! "!") (identifier "bVar20"))) () ")")) (== "==") (identifier "bVar23"))) (; ";")) (if_statement "if (bVar20) goto LAB_0011eb78;" (if "if") (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (goto_statement "goto LAB_0011eb78;" (goto "goto") (statement_identifier "LAB_0011eb78") (; ";"))) (expression_statement "iVar9 = 0xc;" (assignment_expression "iVar9 = 0xc" (identifier "iVar9") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar15 = (byte *)".fini_array.";" (assignment_expression "pbVar15 = (byte *)".fini_array."" (identifier "pbVar15") (= "=") (cast_expression "(byte *)".fini_array."" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".fini_array."" (" """) (string_content ".fini_array.") (" """)))) (; ";")) (expression_statement "pbVar18 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar13[0x1b]" (identifier "pbVar18") (= "=") (cast_expression "(byte *)ppiVar13[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar13[0x1b]" (identifier "ppiVar13") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (do_statement "do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    } while (bVar20);" (do "do") (compound_statement "{\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar21 = *pbVar15 < *pbVar18;\n      bVar20 = *pbVar15 == *pbVar18;\n      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n    }" ({ "{") (if_statement "if (iVar9 == 0) break;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar21 = *pbVar15 < *pbVar18;" (assignment_expression "bVar21 = *pbVar15 < *pbVar18" (identifier "bVar21") (= "=") (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (< "<") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" (identifier "bVar20") (= "=") (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (== "==") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" (identifier "pbVar15") (= "=") (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" (identifier "pbVar15") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (; ";")) (if_statement "if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;" (if "if") (parenthesized_expression "((!bVar21 && !bVar20) == bVar21)" (( "(") (binary_expression "(!bVar21 && !bVar20) == bVar21" (parenthesized_expression "(!bVar21 && !bVar20)" (( "(") (binary_expression "!bVar21 && !bVar20" (unary_expression "!bVar21" (! "!") (identifier "bVar21")) (&& "&&") (unary_expression "!bVar20" (! "!") (identifier "bVar20"))) () ")")) (== "==") (identifier "bVar21")) () ")")) (goto_statement "goto LAB_0011eb78;" (goto "goto") (statement_identifier "LAB_0011eb78") (; ";"))) (expression_statement "bVar20 = false;" (assignment_expression "bVar20 = false" (identifier "bVar20") (= "=") (false "false")) (; ";")) (expression_statement "bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';" (assignment_expression "bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0'" (identifier "bVar23") (= "=") (binary_expression "*(char *)((int)piVar11 + 0xad5) == '\0'" (pointer_expression "*(char *)((int)piVar11 + 0xad5)" (* "*") (cast_expression "(char *)((int)piVar11 + 0xad5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar11 + 0xad5)" (( "(") (binary_expression "(int)piVar11 + 0xad5" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (number_literal "0xad5")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (if_statement "if (!bVar23) {\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }" (if "if") (parenthesized_expression "(!bVar23)" (( "(") (unary_expression "!bVar23" (! "!") (identifier "bVar23")) () ")")) (compound_statement "{\n      iVar9 = 7;\n      pbVar15 = (byte *)ppiVar13[0x1b];\n      pbVar18 = (byte *)".ctors";\n      do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);\n      bVar21 = false;\n      bVar20 = (!bVar20 && !bVar23) == bVar20;\n      if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }\n      goto LAB_0011eb78;\n    }" ({ "{") (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" (identifier "iVar9") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar15 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar15 = (byte *)ppiVar13[0x1b]" (identifier "pbVar15") (= "=") (cast_expression "(byte *)ppiVar13[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar13[0x1b]" (identifier "ppiVar13") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (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") (" """)))) (; ";")) (do_statement "do {\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      } while (bVar23);" (do "do") (compound_statement "{\n        if (iVar9 == 0) break;\n        iVar9 = iVar9 + -1;\n        bVar20 = *pbVar15 < *pbVar18;\n        bVar23 = *pbVar15 == *pbVar18;\n        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n      }" ({ "{") (if_statement "if (iVar9 == 0) break;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar20 = *pbVar15 < *pbVar18;" (assignment_expression "bVar20 = *pbVar15 < *pbVar18" (identifier "bVar20") (= "=") (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (< "<") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "bVar23 = *pbVar15 == *pbVar18;" (assignment_expression "bVar23 = *pbVar15 == *pbVar18" (identifier "bVar23") (= "=") (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (== "==") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" (identifier "pbVar15") (= "=") (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" (identifier "pbVar15") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar23)" (( "(") (identifier "bVar23") () ")")) (; ";")) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" (identifier "bVar21") (= "=") (false "false")) (; ";")) (expression_statement "bVar20 = (!bVar20 && !bVar23) == bVar20;" (assignment_expression "bVar20 = (!bVar20 && !bVar23) == bVar20" (identifier "bVar20") (= "=") (binary_expression "(!bVar20 && !bVar23) == bVar20" (parenthesized_expression "(!bVar20 && !bVar23)" (( "(") (binary_expression "!bVar20 && !bVar23" (unary_expression "!bVar20" (! "!") (identifier "bVar20")) (&& "&&") (unary_expression "!bVar23" (! "!") (identifier "bVar23"))) () ")")) (== "==") (identifier "bVar20"))) (; ";")) (if_statement "if (!bVar20) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }" (if "if") (parenthesized_expression "(!bVar20)" (( "(") (unary_expression "!bVar20" (! "!") (identifier "bVar20")) () ")")) (compound_statement "{\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".dtors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);\n        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;\n      }" ({ "{") (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" (identifier "iVar9") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar15 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar15 = (byte *)ppiVar13[0x1b]" (identifier "pbVar15") (= "=") (cast_expression "(byte *)ppiVar13[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar13[0x1b]" (identifier "ppiVar13") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (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") (" """)))) (; ";")) (do_statement "do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar20);" (do "do") (compound_statement "{\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar21 = *pbVar15 < *pbVar18;\n          bVar20 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        }" ({ "{") (if_statement "if (iVar9 == 0) break;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar21 = *pbVar15 < *pbVar18;" (assignment_expression "bVar21 = *pbVar15 < *pbVar18" (identifier "bVar21") (= "=") (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (< "<") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" (identifier "bVar20") (= "=") (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (== "==") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" (identifier "pbVar15") (= "=") (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" (identifier "pbVar15") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (; ";")) (if_statement "if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;" (if "if") (parenthesized_expression "((!bVar21 && !bVar20) != bVar21)" (( "(") (binary_expression "(!bVar21 && !bVar20) != bVar21" (parenthesized_expression "(!bVar21 && !bVar20)" (( "(") (binary_expression "!bVar21 && !bVar20" (unary_expression "!bVar21" (! "!") (identifier "bVar21")) (&& "&&") (unary_expression "!bVar20" (! "!") (identifier "bVar20"))) () ")")) (!= "!=") (identifier "bVar21")) () ")")) (goto_statement "goto LAB_0011edf0;" (goto "goto") (statement_identifier "LAB_0011edf0") (; ";"))) (} "}"))) (goto_statement "goto LAB_0011eb78;" (goto "goto") (statement_identifier "LAB_0011eb78") (; ";")) (} "}"))) (labeled_statement "LAB_0011edf0:\n    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;" (statement_identifier "LAB_0011edf0") (: ":") (if_statement "if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;" (if "if") (parenthesized_expression "(*(char *)((int)piVar11 + 0x3ced) != '\0')" (( "(") (binary_expression "*(char *)((int)piVar11 + 0x3ced) != '\0'" (pointer_expression "*(char *)((int)piVar11 + 0x3ced)" (* "*") (cast_expression "(char *)((int)piVar11 + 0x3ced)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar11 + 0x3ced)" (( "(") (binary_expression "(int)piVar11 + 0x3ced" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (number_literal "0x3ced")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0011eb9d;" (goto "goto") (statement_identifier "LAB_0011eb9d") (; ";")))) (labeled_statement "LAB_0011edfd:\n    cVar4 = *(char *)((int)piVar11 + 0x318d);" (statement_identifier "LAB_0011edfd") (: ":") (expression_statement "cVar4 = *(char *)((int)piVar11 + 0x318d);" (assignment_expression "cVar4 = *(char *)((int)piVar11 + 0x318d)" (identifier "cVar4") (= "=") (pointer_expression "*(char *)((int)piVar11 + 0x318d)" (* "*") (cast_expression "(char *)((int)piVar11 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar11 + 0x318d)" (( "(") (binary_expression "(int)piVar11 + 0x318d" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (number_literal "0x318d")) () ")"))))) (; ";"))) (labeled_statement "LAB_0011ee04:\n    if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }" (statement_identifier "LAB_0011ee04") (: ":") (if_statement "if (cVar4 == '\0') {\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }" (if "if") (parenthesized_expression "(cVar4 == '\0')" (( "(") (binary_expression "cVar4 == '\0'" (identifier "cVar4") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);\n      bVar20 = uVar17 < 4;\n      bVar23 = uVar17 == 4;\n      if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }\n    }" ({ "{") (labeled_statement "LAB_0011ee0c:\n      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);" (statement_identifier "LAB_0011ee0c") (: ":") (expression_statement "uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);" (assignment_expression "uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14)" (identifier "uVar17") (= "=") (pointer_expression "*(uint *)(*ppiVar13[0x1c] + 0x14)" (* "*") (cast_expression "(uint *)(*ppiVar13[0x1c] + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*ppiVar13[0x1c] + 0x14)" (( "(") (binary_expression "*ppiVar13[0x1c] + 0x14" (pointer_expression "*ppiVar13[0x1c]" (* "*") (subscript_expression "ppiVar13[0x1c]" (identifier "ppiVar13") ([ "[") (number_literal "0x1c") (] "]"))) (+ "+") (number_literal "0x14")) () ")"))))) (; ";"))) (expression_statement "bVar20 = uVar17 < 4;" (assignment_expression "bVar20 = uVar17 < 4" (identifier "bVar20") (= "=") (binary_expression "uVar17 < 4" (identifier "uVar17") (< "<") (number_literal "4"))) (; ";")) (expression_statement "bVar23 = uVar17 == 4;" (assignment_expression "bVar23 = uVar17 == 4" (identifier "bVar23") (= "=") (binary_expression "uVar17 == 4" (identifier "uVar17") (== "==") (number_literal "4"))) (; ";")) (if_statement "if (4 < uVar17) {\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }" (if "if") (parenthesized_expression "(4 < uVar17)" (( "(") (binary_expression "4 < uVar17" (number_literal "4") (< "<") (identifier "uVar17")) () ")")) (compound_statement "{\n        iVar9 = 7;\n        pbVar15 = (byte *)ppiVar13[0x1b];\n        pbVar18 = (byte *)".ctors";\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);\n        bVar21 = false;\n        bVar20 = (!bVar20 && !bVar23) == bVar20;\n        if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }\n        ppiVar13[10] = ppiVar13[0x19];\n        ppiVar13[0xb] = ppiVar13[0x1a];\n        ppiVar13[9] = &DAT_00414774;\n        ppiVar13[0xfffffffd] = (int *)0x1;\n        ppiVar13[0xfffffffc] = (int *)0x0;\n        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);\n        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);\n        ppiVar13[0xfffffff9] = &DAT_00414774;\n        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);\n        ppiVar13[0xfffffff7] = (int *)0x11ee9f;\n        FUN_000a8d90();\n        ppiVar12 = ppiVar13 + 0x17;\n        ppiVar13 = ppiVar13 + 0xffffffff;\n        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);\n        goto LAB_0011ebc2;\n      }" ({ "{") (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" (identifier "iVar9") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar15 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar15 = (byte *)ppiVar13[0x1b]" (identifier "pbVar15") (= "=") (cast_expression "(byte *)ppiVar13[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar13[0x1b]" (identifier "ppiVar13") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (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") (" """)))) (; ";")) (do_statement "do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        } while (bVar23);" (do "do") (compound_statement "{\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar20 = *pbVar15 < *pbVar18;\n          bVar23 = *pbVar15 == *pbVar18;\n          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n        }" ({ "{") (if_statement "if (iVar9 == 0) break;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar20 = *pbVar15 < *pbVar18;" (assignment_expression "bVar20 = *pbVar15 < *pbVar18" (identifier "bVar20") (= "=") (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (< "<") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "bVar23 = *pbVar15 == *pbVar18;" (assignment_expression "bVar23 = *pbVar15 == *pbVar18" (identifier "bVar23") (= "=") (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (== "==") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" (identifier "pbVar15") (= "=") (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" (identifier "pbVar15") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar23)" (( "(") (identifier "bVar23") () ")")) (; ";")) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" (identifier "bVar21") (= "=") (false "false")) (; ";")) (expression_statement "bVar20 = (!bVar20 && !bVar23) == bVar20;" (assignment_expression "bVar20 = (!bVar20 && !bVar23) == bVar20" (identifier "bVar20") (= "=") (binary_expression "(!bVar20 && !bVar23) == bVar20" (parenthesized_expression "(!bVar20 && !bVar23)" (( "(") (binary_expression "!bVar20 && !bVar23" (unary_expression "!bVar20" (! "!") (identifier "bVar20")) (&& "&&") (unary_expression "!bVar23" (! "!") (identifier "bVar23"))) () ")")) (== "==") (identifier "bVar20"))) (; ";")) (if_statement "if (bVar20) {\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }\n        else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }" (if "if") (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (compound_statement "{\nLAB_0011ee50:\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".init_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) goto LAB_0011eeb8;\n        }" ({ "{") (labeled_statement "LAB_0011ee50:\n          bVar23 = false;" (statement_identifier "LAB_0011ee50") (: ":") (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" (identifier "bVar23") (= "=") (false "false")) (; ";"))) (expression_statement "iVar9 = 0xc;" (assignment_expression "iVar9 = 0xc" (identifier "iVar9") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar15 = *(byte **)(iVar6 + 0x20);" (assignment_expression "pbVar15 = *(byte **)(iVar6 + 0x20)" (identifier "pbVar15") (= "=") (pointer_expression "*(byte **)(iVar6 + 0x20)" (* "*") (cast_expression "(byte **)(iVar6 + 0x20)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x20)" (( "(") (binary_expression "iVar6 + 0x20" (identifier "iVar6") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (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") (" """)))) (; ";")) (do_statement "do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);" (do "do") (compound_statement "{\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar9 == 0) break;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar23 = *pbVar15 < *pbVar18;" (assignment_expression "bVar23 = *pbVar15 < *pbVar18" (identifier "bVar23") (= "=") (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (< "<") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" (identifier "bVar20") (= "=") (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (== "==") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" (identifier "pbVar15") (= "=") (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" (identifier "pbVar15") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (; ";")) (expression_statement "bVar20 = (!bVar23 && !bVar20) == bVar23;" (assignment_expression "bVar20 = (!bVar23 && !bVar20) == bVar23" (identifier "bVar20") (= "=") (binary_expression "(!bVar23 && !bVar20) == bVar23" (parenthesized_expression "(!bVar23 && !bVar20)" (( "(") (binary_expression "!bVar23 && !bVar20" (unary_expression "!bVar23" (! "!") (identifier "bVar23")) (&& "&&") (unary_expression "!bVar20" (! "!") (identifier "bVar20"))) () ")")) (== "==") (identifier "bVar23"))) (; ";")) (if_statement "if (!bVar20) goto LAB_0011eeb8;" (if "if") (parenthesized_expression "(!bVar20)" (( "(") (unary_expression "!bVar20" (! "!") (identifier "bVar20")) () ")")) (goto_statement "goto LAB_0011eeb8;" (goto "goto") (statement_identifier "LAB_0011eeb8") (; ";"))) (} "}")) (else_clause "else {\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }" (else "else") (compound_statement "{\n          iVar9 = 7;\n          pbVar15 = (byte *)".ctors.";\n          pbVar18 = (byte *)ppiVar13[0x1b];\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar20 = (!bVar21 && !bVar20) == bVar21;\n          if (bVar20) goto LAB_0011ee50;\nLAB_0011eeb8:\n          bVar23 = false;\n          iVar9 = 7;\n          pbVar15 = (byte *)ppiVar13[0x1b];\n          pbVar18 = (byte *)".dtors";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          bVar21 = false;\n          bVar20 = (!bVar23 && !bVar20) == bVar23;\n          if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }\n          bVar23 = false;\n          iVar9 = 0xc;\n          pbVar15 = *(byte **)(iVar6 + 0x20);\n          pbVar18 = (byte *)".fini_array";\n          do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);\n          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;\n        }" ({ "{") (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" (identifier "iVar9") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar15 = (byte *)".ctors.";" (assignment_expression "pbVar15 = (byte *)".ctors."" (identifier "pbVar15") (= "=") (cast_expression "(byte *)".ctors."" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".ctors."" (" """) (string_content ".ctors.") (" """)))) (; ";")) (expression_statement "pbVar18 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar13[0x1b]" (identifier "pbVar18") (= "=") (cast_expression "(byte *)ppiVar13[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar13[0x1b]" (identifier "ppiVar13") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (do_statement "do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);" (do "do") (compound_statement "{\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar21 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar9 == 0) break;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar21 = *pbVar15 < *pbVar18;" (assignment_expression "bVar21 = *pbVar15 < *pbVar18" (identifier "bVar21") (= "=") (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (< "<") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" (identifier "bVar20") (= "=") (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (== "==") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" (identifier "pbVar15") (= "=") (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" (identifier "pbVar15") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (; ";")) (expression_statement "bVar20 = (!bVar21 && !bVar20) == bVar21;" (assignment_expression "bVar20 = (!bVar21 && !bVar20) == bVar21" (identifier "bVar20") (= "=") (binary_expression "(!bVar21 && !bVar20) == bVar21" (parenthesized_expression "(!bVar21 && !bVar20)" (( "(") (binary_expression "!bVar21 && !bVar20" (unary_expression "!bVar21" (! "!") (identifier "bVar21")) (&& "&&") (unary_expression "!bVar20" (! "!") (identifier "bVar20"))) () ")")) (== "==") (identifier "bVar21"))) (; ";")) (if_statement "if (bVar20) goto LAB_0011ee50;" (if "if") (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (goto_statement "goto LAB_0011ee50;" (goto "goto") (statement_identifier "LAB_0011ee50") (; ";"))) (labeled_statement "LAB_0011eeb8:\n          bVar23 = false;" (statement_identifier "LAB_0011eeb8") (: ":") (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" (identifier "bVar23") (= "=") (false "false")) (; ";"))) (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" (identifier "iVar9") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar15 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar15 = (byte *)ppiVar13[0x1b]" (identifier "pbVar15") (= "=") (cast_expression "(byte *)ppiVar13[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar13[0x1b]" (identifier "ppiVar13") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (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") (" """)))) (; ";")) (do_statement "do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);" (do "do") (compound_statement "{\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar9 == 0) break;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar23 = *pbVar15 < *pbVar18;" (assignment_expression "bVar23 = *pbVar15 < *pbVar18" (identifier "bVar23") (= "=") (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (< "<") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" (identifier "bVar20") (= "=") (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (== "==") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" (identifier "pbVar15") (= "=") (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" (identifier "pbVar15") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (; ";")) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" (identifier "bVar21") (= "=") (false "false")) (; ";")) (expression_statement "bVar20 = (!bVar23 && !bVar20) == bVar23;" (assignment_expression "bVar20 = (!bVar23 && !bVar20) == bVar23" (identifier "bVar20") (= "=") (binary_expression "(!bVar23 && !bVar20) == bVar23" (parenthesized_expression "(!bVar23 && !bVar20)" (( "(") (binary_expression "!bVar23 && !bVar20" (unary_expression "!bVar23" (! "!") (identifier "bVar23")) (&& "&&") (unary_expression "!bVar20" (! "!") (identifier "bVar20"))) () ")")) (== "==") (identifier "bVar23"))) (; ";")) (if_statement "if (!bVar20) {\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }" (if "if") (parenthesized_expression "(!bVar20)" (( "(") (unary_expression "!bVar20" (! "!") (identifier "bVar20")) () ")")) (compound_statement "{\n            iVar9 = 7;\n            pbVar15 = (byte *)".dtors.";\n            pbVar18 = (byte *)ppiVar13[0x1b];\n            do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);\n            bVar20 = (!bVar21 && !bVar20) == bVar21;\n            if (!bVar20) goto LAB_0011ebc0;\n          }" ({ "{") (expression_statement "iVar9 = 7;" (assignment_expression "iVar9 = 7" (identifier "iVar9") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar15 = (byte *)".dtors.";" (assignment_expression "pbVar15 = (byte *)".dtors."" (identifier "pbVar15") (= "=") (cast_expression "(byte *)".dtors."" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".dtors."" (" """) (string_content ".dtors.") (" """)))) (; ";")) (expression_statement "pbVar18 = (byte *)ppiVar13[0x1b];" (assignment_expression "pbVar18 = (byte *)ppiVar13[0x1b]" (identifier "pbVar18") (= "=") (cast_expression "(byte *)ppiVar13[0x1b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppiVar13[0x1b]" (identifier "ppiVar13") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (do_statement "do {\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            } while (bVar20);" (do "do") (compound_statement "{\n              if (iVar9 == 0) break;\n              iVar9 = iVar9 + -1;\n              bVar21 = *pbVar15 < *pbVar18;\n              bVar20 = *pbVar15 == *pbVar18;\n              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n            }" ({ "{") (if_statement "if (iVar9 == 0) break;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar21 = *pbVar15 < *pbVar18;" (assignment_expression "bVar21 = *pbVar15 < *pbVar18" (identifier "bVar21") (= "=") (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (< "<") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" (identifier "bVar20") (= "=") (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (== "==") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" (identifier "pbVar15") (= "=") (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" (identifier "pbVar15") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (; ";")) (expression_statement "bVar20 = (!bVar21 && !bVar20) == bVar21;" (assignment_expression "bVar20 = (!bVar21 && !bVar20) == bVar21" (identifier "bVar20") (= "=") (binary_expression "(!bVar21 && !bVar20) == bVar21" (parenthesized_expression "(!bVar21 && !bVar20)" (( "(") (binary_expression "!bVar21 && !bVar20" (unary_expression "!bVar21" (! "!") (identifier "bVar21")) (&& "&&") (unary_expression "!bVar20" (! "!") (identifier "bVar20"))) () ")")) (== "==") (identifier "bVar21"))) (; ";")) (if_statement "if (!bVar20) goto LAB_0011ebc0;" (if "if") (parenthesized_expression "(!bVar20)" (( "(") (unary_expression "!bVar20" (! "!") (identifier "bVar20")) () ")")) (goto_statement "goto LAB_0011ebc0;" (goto "goto") (statement_identifier "LAB_0011ebc0") (; ";"))) (} "}"))) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" (identifier "bVar23") (= "=") (false "false")) (; ";")) (expression_statement "iVar9 = 0xc;" (assignment_expression "iVar9 = 0xc" (identifier "iVar9") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar15 = *(byte **)(iVar6 + 0x20);" (assignment_expression "pbVar15 = *(byte **)(iVar6 + 0x20)" (identifier "pbVar15") (= "=") (pointer_expression "*(byte **)(iVar6 + 0x20)" (* "*") (cast_expression "(byte **)(iVar6 + 0x20)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x20)" (( "(") (binary_expression "iVar6 + 0x20" (identifier "iVar6") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (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") (" """)))) (; ";")) (do_statement "do {\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          } while (bVar20);" (do "do") (compound_statement "{\n            if (iVar9 == 0) break;\n            iVar9 = iVar9 + -1;\n            bVar23 = *pbVar15 < *pbVar18;\n            bVar20 = *pbVar15 == *pbVar18;\n            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar9 == 0) break;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar23 = *pbVar15 < *pbVar18;" (assignment_expression "bVar23 = *pbVar15 < *pbVar18" (identifier "bVar23") (= "=") (binary_expression "*pbVar15 < *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (< "<") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "bVar20 = *pbVar15 == *pbVar18;" (assignment_expression "bVar20 = *pbVar15 == *pbVar18" (identifier "bVar20") (= "=") (binary_expression "*pbVar15 == *pbVar18" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (== "==") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1" (identifier "pbVar15") (= "=") (binary_expression "pbVar15 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar15 + (uint)bVar25 * -2" (identifier "pbVar15") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar25 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (; ";")) (if_statement "if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;" (if "if") (parenthesized_expression "((!bVar23 && !bVar20) != bVar23)" (( "(") (binary_expression "(!bVar23 && !bVar20) != bVar23" (parenthesized_expression "(!bVar23 && !bVar20)" (( "(") (binary_expression "!bVar23 && !bVar20" (unary_expression "!bVar23" (! "!") (identifier "bVar23")) (&& "&&") (unary_expression "!bVar20" (! "!") (identifier "bVar20"))) () ")")) (!= "!=") (identifier "bVar23")) () ")")) (goto_statement "goto LAB_0011ebc0;" (goto "goto") (statement_identifier "LAB_0011ebc0") (; ";"))) (} "}")))) (expression_statement "ppiVar13[10] = ppiVar13[0x19];" (assignment_expression "ppiVar13[10] = ppiVar13[0x19]" (subscript_expression "ppiVar13[10]" (identifier "ppiVar13") ([ "[") (number_literal "10") (] "]")) (= "=") (subscript_expression "ppiVar13[0x19]" (identifier "ppiVar13") ([ "[") (number_literal "0x19") (] "]"))) (; ";")) (expression_statement "ppiVar13[0xb] = ppiVar13[0x1a];" (assignment_expression "ppiVar13[0xb] = ppiVar13[0x1a]" (subscript_expression "ppiVar13[0xb]" (identifier "ppiVar13") ([ "[") (number_literal "0xb") (] "]")) (= "=") (subscript_expression "ppiVar13[0x1a]" (identifier "ppiVar13") ([ "[") (number_literal "0x1a") (] "]"))) (; ";")) (expression_statement "ppiVar13[9] = &DAT_00414774;" (assignment_expression "ppiVar13[9] = &DAT_00414774" (subscript_expression "ppiVar13[9]" (identifier "ppiVar13") ([ "[") (number_literal "9") (] "]")) (= "=") (pointer_expression "&DAT_00414774" (& "&") (identifier "DAT_00414774"))) (; ";")) (expression_statement "ppiVar13[0xfffffffd] = (int *)0x1;" (assignment_expression "ppiVar13[0xfffffffd] = (int *)0x1" (subscript_expression "ppiVar13[0xfffffffd]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffffd") (] "]")) (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "ppiVar13[0xfffffffc] = (int *)0x0;" (assignment_expression "ppiVar13[0xfffffffc] = (int *)0x0" (subscript_expression "ppiVar13[0xfffffffc]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffffc") (] "]")) (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);" (assignment_expression "ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9)" (subscript_expression "ppiVar13[0xfffffffb]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffffb") (] "]")) (= "=") (cast_expression "(int *)(ppiVar13 + 9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppiVar13 + 9)" (( "(") (binary_expression "ppiVar13 + 9" (identifier "ppiVar13") (+ "+") (number_literal "9")) () ")")))) (; ";")) (expression_statement "ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);" (assignment_expression "ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10)" (subscript_expression "ppiVar13[0xfffffffa]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffffa") (] "]")) (= "=") (cast_expression "(int *)(ppiVar13 + 10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppiVar13 + 10)" (( "(") (binary_expression "ppiVar13 + 10" (identifier "ppiVar13") (+ "+") (number_literal "10")) () ")")))) (; ";")) (expression_statement "ppiVar13[0xfffffff9] = &DAT_00414774;" (assignment_expression "ppiVar13[0xfffffff9] = &DAT_00414774" (subscript_expression "ppiVar13[0xfffffff9]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffff9") (] "]")) (= "=") (pointer_expression "&DAT_00414774" (& "&") (identifier "DAT_00414774"))) (; ";")) (expression_statement "ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);" (assignment_expression "ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4)" (subscript_expression "ppiVar13[0xfffffff8]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffff8") (] "]")) (= "=") (cast_expression "(int *)(ppiVar13 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppiVar13 + 4)" (( "(") (binary_expression "ppiVar13 + 4" (identifier "ppiVar13") (+ "+") (number_literal "4")) () ")")))) (; ";")) (expression_statement "ppiVar13[0xfffffff7] = (int *)0x11ee9f;" (assignment_expression "ppiVar13[0xfffffff7] = (int *)0x11ee9f" (subscript_expression "ppiVar13[0xfffffff7]" (identifier "ppiVar13") ([ "[") (number_literal "0xfffffff7") (] "]")) (= "=") (cast_expression "(int *)0x11ee9f" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x11ee9f"))) (; ";")) (expression_statement "FUN_000a8d90();" (call_expression "FUN_000a8d90()" (identifier "FUN_000a8d90") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppiVar12 = ppiVar13 + 0x17;" (assignment_expression "ppiVar12 = ppiVar13 + 0x17" (identifier "ppiVar12") (= "=") (binary_expression "ppiVar13 + 0x17" (identifier "ppiVar13") (+ "+") (number_literal "0x17"))) (; ";")) (expression_statement "ppiVar13 = ppiVar13 + 0xffffffff;" (assignment_expression "ppiVar13 = ppiVar13 + 0xffffffff" (identifier "ppiVar13") (= "=") (binary_expression "ppiVar13 + 0xffffffff" (identifier "ppiVar13") (+ "+") (number_literal "0xffffffff"))) (; ";")) (expression_statement "uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);" (assignment_expression "uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac)" (identifier "uVar17") (= "=") (binary_expression "(uint)*(byte *)((*ppiVar12)[1] + 0xac)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((*ppiVar12)[1] + 0xac)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((*ppiVar12)[1] + 0xac)" (( "(") (binary_expression "(*ppiVar12)[1] + 0xac" (subscript_expression "(*ppiVar12)[1]" (parenthesized_expression "(*ppiVar12)" (( "(") (pointer_expression "*ppiVar12" (* "*") (identifier "ppiVar12")) () ")")) ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0xac")) () ")"))))) (; ";")) (goto_statement "goto LAB_0011ebc2;" (goto "goto") (statement_identifier "LAB_0011ebc2") (; ";")) (} "}"))) (} "}")))) (} "}")))) (labeled_statement "LAB_0011ebc0:\n  uVar17 = 0;" (statement_identifier "LAB_0011ebc0") (: ":") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";"))) (labeled_statement "LAB_0011ebc2:\n  uVar1 = *(uint *)(iVar6 + 0x54);" (statement_identifier "LAB_0011ebc2") (: ":") (expression_statement "uVar1 = *(uint *)(iVar6 + 0x54);" (assignment_expression "uVar1 = *(uint *)(iVar6 + 0x54)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(iVar6 + 0x54)" (* "*") (cast_expression "(uint *)(iVar6 + 0x54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x54)" (( "(") (binary_expression "iVar6 + 0x54" (identifier "iVar6") (+ "+") (number_literal "0x54")) () ")"))))) (; ";"))) (expression_statement "*(uint *)((int)ppiVar13 + -4) = uVar17;" (assignment_expression "*(uint *)((int)ppiVar13 + -4) = uVar17" (pointer_expression "*(uint *)((int)ppiVar13 + -4)" (* "*") (cast_expression "(uint *)((int)ppiVar13 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + -4)" (( "(") (binary_expression "(int)ppiVar13 + -4" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar13 + -8) = *(undefined4 *)((int)ppiVar13 + 0x78);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -8) = *(undefined4 *)((int)ppiVar13 + 0x78)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -8)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar13 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + -8)" (( "(") (binary_expression "(int)ppiVar13 + -8" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)ppiVar13 + 0x78)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar13 + 0x78)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + 0x78)" (( "(") (binary_expression "(int)ppiVar13 + 0x78" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "0x78")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0xc) = *(undefined4 *)((int)ppiVar13 + 0x70);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0xc) = *(undefined4 *)((int)ppiVar13 + 0x70)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar13 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + -0xc)" (( "(") (binary_expression "(int)ppiVar13 + -0xc" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)ppiVar13 + 0x70)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar13 + 0x70)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + 0x70)" (( "(") (binary_expression "(int)ppiVar13 + 0x70" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "0x70")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x6c);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x6c)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar13 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + -0x10)" (( "(") (binary_expression "(int)ppiVar13 + -0x10" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)ppiVar13 + 0x6c)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar13 + 0x6c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + 0x6c)" (( "(") (binary_expression "(int)ppiVar13 + 0x6c" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "0x6c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x14) = *(undefined4 *)((int)ppiVar13 + 0x68);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x14) = *(undefined4 *)((int)ppiVar13 + 0x68)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar13 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + -0x14)" (( "(") (binary_expression "(int)ppiVar13 + -0x14" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)ppiVar13 + 0x68)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar13 + 0x68)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + 0x68)" (( "(") (binary_expression "(int)ppiVar13 + 0x68" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "0x68")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x18) = *(undefined4 *)((int)ppiVar13 + 100);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x18) = *(undefined4 *)((int)ppiVar13 + 100)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar13 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + -0x18)" (( "(") (binary_expression "(int)ppiVar13 + -0x18" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)ppiVar13 + 100)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar13 + 100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + 100)" (( "(") (binary_expression "(int)ppiVar13 + 100" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "100")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x1c) = *(undefined4 *)((int)ppiVar13 + 0x60);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x1c) = *(undefined4 *)((int)ppiVar13 + 0x60)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar13 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + -0x1c)" (( "(") (binary_expression "(int)ppiVar13 + -0x1c" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)ppiVar13 + 0x60)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar13 + 0x60)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + 0x60)" (( "(") (binary_expression "(int)ppiVar13 + 0x60" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (expression_statement "*(int *)((int)ppiVar13 + -0x20) = iVar6;" (assignment_expression "*(int *)((int)ppiVar13 + -0x20) = iVar6" (pointer_expression "*(int *)((int)ppiVar13 + -0x20)" (* "*") (cast_expression "(int *)((int)ppiVar13 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + -0x20)" (( "(") (binary_expression "(int)ppiVar13 + -0x20" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x24) = 0x11ebe4;" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x24) = 0x11ebe4" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar13 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + -0x24)" (( "(") (binary_expression "(int)ppiVar13 + -0x24" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x11ebe4")) (; ";")) (expression_statement "uVar26 = FUN_00191220();" (assignment_expression "uVar26 = FUN_00191220()" (identifier "uVar26") (= "=") (call_expression "FUN_00191220()" (identifier "FUN_00191220") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "**(undefined8 **)((int)ppiVar13 + 0x80) = uVar26;" (assignment_expression "**(undefined8 **)((int)ppiVar13 + 0x80) = uVar26" (pointer_expression "**(undefined8 **)((int)ppiVar13 + 0x80)" (* "*") (pointer_expression "*(undefined8 **)((int)ppiVar13 + 0x80)" (* "*") (cast_expression "(undefined8 **)((int)ppiVar13 + 0x80)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar13 + 0x80)" (( "(") (binary_expression "(int)ppiVar13 + 0x80" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "0x80")) () ")"))))) (= "=") (identifier "uVar26")) (; ";")) (if_statement "if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5) != 0)) {\n    *(undefined4 *)((int)ppiVar13 + -8) = 0;\n    *(int *)((int)ppiVar13 + -0xc) = iVar6;\n    *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60);\n    *(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12;\n    uVar5 = FUN_00107cf0();\n    *(undefined4 *)(iVar6 + 0x5c) = uVar5;\n  }" (if "if") (parenthesized_expression "(((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5) != 0))" (( "(") (binary_expression "((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar6 + 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 *)(iVar6 + 0x54)) & 5) != 0)" (( "(") (binary_expression "((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5) != 0" (parenthesized_expression "((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5)" (( "(") (binary_expression "(uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5" (parenthesized_expression "(uVar1 ^ *(uint *)(iVar6 + 0x54))" (( "(") (binary_expression "uVar1 ^ *(uint *)(iVar6 + 0x54)" (identifier "uVar1") (^ "^") (pointer_expression "*(uint *)(iVar6 + 0x54)" (* "*") (cast_expression "(uint *)(iVar6 + 0x54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x54)" (( "(") (binary_expression "iVar6 + 0x54" (identifier "iVar6") (+ "+") (number_literal "0x54")) () ")"))))) () ")")) (& "&") (number_literal "5")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    *(undefined4 *)((int)ppiVar13 + -8) = 0;\n    *(int *)((int)ppiVar13 + -0xc) = iVar6;\n    *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60);\n    *(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12;\n    uVar5 = FUN_00107cf0();\n    *(undefined4 *)(iVar6 + 0x5c) = uVar5;\n  }" ({ "{") (expression_statement "*(undefined4 *)((int)ppiVar13 + -8) = 0;" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -8) = 0" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -8)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar13 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + -8)" (( "(") (binary_expression "(int)ppiVar13 + -8" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)((int)ppiVar13 + -0xc) = iVar6;" (assignment_expression "*(int *)((int)ppiVar13 + -0xc) = iVar6" (pointer_expression "*(int *)((int)ppiVar13 + -0xc)" (* "*") (cast_expression "(int *)((int)ppiVar13 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + -0xc)" (( "(") (binary_expression "(int)ppiVar13 + -0xc" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60);" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60)" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar13 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + -0x10)" (( "(") (binary_expression "(int)ppiVar13 + -0x10" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)ppiVar13 + 0x60)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar13 + 0x60)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + 0x60)" (( "(") (binary_expression "(int)ppiVar13 + 0x60" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12;" (assignment_expression "*(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12" (pointer_expression "*(undefined4 *)((int)ppiVar13 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar13 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + -0x14)" (( "(") (binary_expression "(int)ppiVar13 + -0x14" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11ec12")) (; ";")) (expression_statement "uVar5 = FUN_00107cf0();" (assignment_expression "uVar5 = FUN_00107cf0()" (identifier "uVar5") (= "=") (call_expression "FUN_00107cf0()" (identifier "FUN_00107cf0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 0x5c) = uVar5;" (assignment_expression "*(undefined4 *)(iVar6 + 0x5c) = uVar5" (pointer_expression "*(undefined4 *)(iVar6 + 0x5c)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x5c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x5c)" (( "(") (binary_expression "iVar6 + 0x5c" (identifier "iVar6") (+ "+") (number_literal "0x5c")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4) = 1;" (assignment_expression "*(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4) = 1" (pointer_expression "*(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4)" (* "*") (cast_expression "(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)ppiVar13 + 0x60) + 0x1c4)" (( "(") (binary_expression "*(int *)((int)ppiVar13 + 0x60) + 0x1c4" (pointer_expression "*(int *)((int)ppiVar13 + 0x60)" (* "*") (cast_expression "(int *)((int)ppiVar13 + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar13 + 0x60)" (( "(") (binary_expression "(int)ppiVar13 + 0x60" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (number_literal "0x60")) () ")")))) (+ "+") (number_literal "0x1c4")) () ")")))) (= "=") (number_literal "1")) (; ";")) (return_statement "return iVar6;" (return "return") (identifier "iVar6") (; ";")) (} "}")))

/* 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, false>
   DWARF original prototype: Output_section * layout<32,_false>(Layout * this,
   Sized_relobj_file<32,_false> * object, uint shndx, char * name, Shdr<32,_false> * shdr, uint
   sh_type, uint reloc_shndx, uint param_9, off_t * off) */

Output_section * __thiscall
gold::Layout::layout<32,_false>
          (Layout *this,Sized_relobj_file<32,_false> *object,uint shndx,char *name,
          Shdr<32,_false> *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: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) 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: (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: (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: (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)))) right: (parenthesized_expression (comma_expression left: (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)))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))) (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: (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))))) 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: (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))))) 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) (identifier) (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)))) (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: (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: (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: (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: (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: (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))))) 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: (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))))) 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: (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: (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: (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: (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: (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;
  char cVar4;
  undefined4 uVar5;
  int iVar6;
  size_t sVar7;
  byte bVar8;
  int iVar9;
  int *piVar10;
  int *piVar11;
  int **ppiVar12;
  int **ppiVar13;
  int **ppiVar14;
  byte *pbVar15;
  undefined **ppuVar16;
  uint uVar17;
  byte *pbVar18;
  char *pcVar19;
  bool bVar20;
  bool bVar21;
  undefined1 uVar22;
  bool bVar23;
  undefined1 uVar24;
  byte bVar25;
  undefined8 uVar26;
  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;
  
  bVar25 = 0;
  uStack_14 = 0x11e919;
  *param_9 = 0;
  param_9[1] = 0;
  apiStack_60[0] = param_5;
  cVar4 = FUN_00117830(param_1,param_2,param_4);
  ppiVar13 = apiStack_60 + 1;
  ppiVar12 = apiStack_60 + 1;
  if (cVar4 == '\0') {
    return 0;
  }
  uVar17 = *(uint *)(DAT_004144e8 + 8);
  if (uVar17 == 0) goto LAB_0011ef08;
  if ((*(char *)(uVar17 + 0x318d) == '\0') ||
     (uVar1 = *(uint *)(*param_5 + 8), (uVar1 & 0x200) == 0)) {
    piVar10 = &DAT_004144e8;
    if (*(char *)(uVar17 + 0x5871) != '\0') {
      uVar22 = apiStack_60 + 1 < (int **)0x4;
      uVar24 = &stack0x00000000 == (undefined1 *)0x60;
      apiStack_60[2] = &DAT_004144e8;
      (**(code **)(*param_2 + 0x40))(local_34,param_2,param_3);
      iVar6 = 0xe;
      apiStack_60[2] = (int *)0x2fd3ca;
      pbVar15 = (byte *)".text.unlikely";
      pbVar18 = (byte *)local_40[2];
      do {
        if (iVar6 == 0) break;
        iVar6 = iVar6 + -1;
        uVar22 = *pbVar15 < *pbVar18;
        uVar24 = *pbVar15 == *pbVar18;
        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
      } while ((bool)uVar24);
      ppiVar12 = apiStack_60;
      if ((!(bool)uVar22 && !(bool)uVar24) == (bool)uVar22) {
        if ((byte *)local_40[2] != local_30) {
          FUN_00248220(local_40[2]);
        }
        ppiVar14 = apiStack_60;
        if (*(int *)(*apiStack_60[1] + 8) == 0) goto LAB_0011efcb;
        uVar17 = *(uint *)(*param_4 + 8) & 0xfffff50f;
        if (*(char *)(*(int *)(*apiStack_60[1] + 8) + 0x318d) != '\0') {
          uVar17 = *(uint *)(*param_4 + 8) & 0xfffff58f;
        }
        uVar5 = FUN_001e3f80(unaff_retaddr + 8,apiStack_60[2],1,local_34);
        iVar6 = FUN_00110850(unaff_retaddr,uVar5,local_40[2],param_5,uVar17,0,0,0);
        ppiVar13 = apiStack_60;
        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;
        goto LAB_0011ea90;
      }
      piVar10 = apiStack_60[1];
      if ((byte *)local_40[2] != local_30) {
        FUN_00248220(local_40[2]);
        ppiVar12 = apiStack_60;
        piVar10 = apiStack_60[1];
      }
    }
    ppiVar12[1] = piVar10;
    ppiVar12[10] = ppiVar12[0x19];
    ppiVar12[0xb] = ppiVar12[0x1a];
    ppiVar12[-2] = (int *)local_34;
    ppiVar12[-3] = ppiVar12[0x18] + 0x81;
    ppiVar12[-4] = (int *)(ppiVar12 + 7);
    ppiVar12[-5] = (int *)0x11e9c5;
    FUN_001196a0();
    piVar10 = ppiVar12[6];
    ppiVar14 = ppiVar12 + -1;
    if (piVar10 == ppiVar12[0x17] + 0x82) {
      ppiVar12[-3] = (int *)0x1;
      ppiVar12[-4] = (int *)0x0;
      ppiVar12[-5] = (int *)0x0;
      ppiVar12[-6] = (int *)0x0;
      ppiVar12[-7] = (int *)0x1;
      uVar5 = *(undefined4 *)(*ppiVar12[0x1b] + 8);
      ppiVar12[-8] = (int *)0x0;
      ppiVar12[-9] = (int *)uVar5;
      ppiVar12[-10] = ppiVar12[0x1c];
      ppiVar12[-0xb] = ppiVar12[0x1a];
      ppiVar12[-0xc] = ppiVar12[0x18];
      ppiVar12[-0xd] = ppiVar12[0x17];
      ppiVar12[-0xe] = (int *)0x11ed4e;
      iVar6 = FUN_00110ae0();
      ppiVar13 = ppiVar12 + -1;
      apiStack_60[1] = *ppiVar12;
      if (iVar6 == 0) {
        return 0;
      }
    }
    else {
      iVar6 = *(int *)(**ppiVar12 + 8);
      if (iVar6 == 0) {
LAB_0011efcb:
                    /* WARNING: Subroutine does not return */
        *(code **)((int)ppiVar14 + -4) = FUN_0011efd0;
        FUN_00106b00();
      }
      uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff50f;
      if (*(char *)(iVar6 + 0x318d) != '\0') {
        uVar17 = *(uint *)(*ppiVar12[0x1b] + 8) & 0xfffff58f;
      }
      puVar2 = (undefined4 *)piVar10[6];
      *ppiVar12 = *ppiVar12;
      ppiVar12[-2] = (int *)local_34;
      ppiVar12[-3] = (int *)0x1;
      ppiVar12[-4] = (int *)*puVar2;
      ppiVar12[-5] = ppiVar12[0x17] + 2;
      ppiVar12[-6] = (int *)0x11ea2b;
      uVar5 = FUN_001e3f80();
      ppiVar12[-2] = (int *)0x0;
      ppiVar12[-3] = (int *)0x0;
      ppiVar12[-4] = (int *)0x0;
      ppiVar12[-5] = (int *)uVar17;
      ppiVar12[-6] = ppiVar12[0x1c];
      ppiVar12[-7] = ppiVar12[9];
      ppiVar12[-8] = (int *)uVar5;
      ppiVar12[-9] = ppiVar12[0x17];
      ppiVar12[-10] = (int *)0x11ea49;
      iVar6 = FUN_00110850();
      apiStack_60[1] = *ppiVar12;
      ppiVar13 = ppiVar12 + -1;
      if (-1 < (char)*(byte *)(iVar6 + 0x92)) {
        *(byte *)(iVar6 + 0x92) = *(byte *)(iVar6 + 0x92) | 0x80;
        iVar9 = piVar10[6];
        uVar5 = *(undefined4 *)(iVar9 + 8);
        *(undefined4 *)(iVar6 + 0x9c) = *(undefined4 *)(iVar9 + 4);
        uVar3 = *(undefined4 *)(iVar9 + 0xc);
        *(undefined4 *)(iVar6 + 0xa0) = uVar5;
        uVar5 = *(undefined4 *)(iVar9 + 0x10);
        *(undefined4 *)(iVar6 + 0xa4) = uVar3;
        *(undefined4 *)(iVar6 + 0xa8) = uVar5;
        ppiVar13 = ppiVar12 + -1;
      }
    }
  }
  else {
    apiStack_60[0] = (int *)0x0;
    apiStack_60[2] = &DAT_004144e8;
    uVar5 = FUN_001e3f80(param_1 + 8,param_4,1);
    iVar6 = FUN_0010c350(param_1,uVar5,param_6,uVar1 & 0xfffff7ff,0,0,0);
    ppiVar13 = apiStack_60 + 1;
    apiStack_60[1] = apiStack_60[2];
  }
LAB_0011ea90:
  piVar10 = (int *)ppiVar13[0x18][1];
  piVar11 = *(int **)(*apiStack_60[1] + 8);
  ppiVar13[1] = piVar10;
  bVar8 = *(byte *)(piVar10 + 0x2b);
  uVar17 = (uint)bVar8;
  if (bVar8 != 0) {
    if (piVar11 == (int *)0x0) goto LAB_0011ef08;
    goto LAB_0011ebc2;
  }
  if (piVar11 == (int *)0x0) {
LAB_0011ef08:
    ppiVar13[0xffffffff] = (int *)uVar17;
    ppiVar13[0xfffffffe] = (int *)"options";
    ppiVar13[0xfffffffd] = (int *)0x5c;
    ppiVar13[0xfffffffc] = (int *)"../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
    ppiVar13[0xfffffffb] = (int *)0x11ef1e;
    FUN_000da200();
  }
  bVar20 = false;
  bVar23 = *(char *)((int)piVar11 + 0x318d) == '\0';
  if (!bVar23) goto LAB_0011edf0;
  iVar9 = 7;
  pbVar15 = (byte *)".ctors.";
  pbVar18 = (byte *)ppiVar13[0x1b];
  do {
    if (iVar9 == 0) break;
    iVar9 = iVar9 + -1;
    bVar20 = *pbVar15 < *pbVar18;
    bVar23 = *pbVar15 == *pbVar18;
    pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
    pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
  } while (bVar23);
  bVar21 = false;
  bVar20 = (!bVar20 && !bVar23) == bVar20;
  if (bVar20) {
LAB_0011eb78:
    *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;
    bVar8 = *(byte *)(ppiVar13[1] + 0x2b);
    uVar17 = (uint)bVar8;
    if (*(char *)((int)piVar11 + 0x3ced) == '\0') {
LAB_0011ef39:
      if (bVar8 != 0) goto LAB_0011ebc2;
      goto LAB_0011edfd;
    }
    if (bVar8 != 0) goto LAB_0011ebc2;
LAB_0011eb9d:
    cVar4 = *(char *)((int)piVar11 + 0x318d);
    if (*(char *)((int)ppiVar13[0x18] + 0x1cd) != '\0') goto LAB_0011ee04;
    if (cVar4 == '\0') {
      ppiVar13[3] = piVar11;
      ppuVar16 = &PTR_s__text_unlikely_00407080;
      ppiVar13[2] = (int *)&PTR_s_aranges_00407090;
      pcVar19 = ".text.unlikely";
      sVar7 = 0xe;
      while( true ) {
        ppiVar13[0xfffffffe] = (int *)sVar7;
        ppiVar13[0xfffffffd] = ppiVar13[0x1b];
        ppiVar13[0xfffffffc] = (int *)pcVar19;
        ppiVar13[0xfffffffb] = (int *)0x11ef7d;
        iVar9 = strncmp((char *)ppiVar13[0xfffffffc],(char *)ppiVar13[0xfffffffd],
                        (size_t)ppiVar13[0xfffffffe]);
        if (iVar9 == 0) break;
        ppuVar16 = ppuVar16 + 1;
        if ((undefined **)ppiVar13[2] == ppuVar16) goto LAB_0011ee0c;
        pcVar19 = *ppuVar16;
        ppiVar13[0xfffffffc] = (int *)pcVar19;
        ppiVar13[0xfffffffb] = (int *)0x11ef9c;
        sVar7 = strlen((char *)ppiVar13[0xfffffffc]);
      }
      piVar11 = ppiVar13[3];
      *(byte *)(iVar6 + 0x91) = *(byte *)(iVar6 + 0x91) | 8;
      bVar8 = *(byte *)(ppiVar13[1] + 0x2b);
      uVar17 = (uint)bVar8;
      goto LAB_0011ef39;
    }
  }
  else {
    iVar9 = 7;
    pbVar15 = (byte *)".dtors.";
    pbVar18 = (byte *)ppiVar13[0x1b];
    do {
      if (iVar9 == 0) break;
      iVar9 = iVar9 + -1;
      bVar21 = *pbVar15 < *pbVar18;
      bVar20 = *pbVar15 == *pbVar18;
      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
    } while (bVar20);
    bVar23 = false;
    bVar20 = (!bVar21 && !bVar20) == bVar21;
    if (bVar20) goto LAB_0011eb78;
    iVar9 = 0xc;
    pbVar15 = (byte *)".init_array.";
    pbVar18 = (byte *)ppiVar13[0x1b];
    do {
      if (iVar9 == 0) break;
      iVar9 = iVar9 + -1;
      bVar23 = *pbVar15 < *pbVar18;
      bVar20 = *pbVar15 == *pbVar18;
      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
    } while (bVar20);
    bVar21 = false;
    bVar20 = (!bVar23 && !bVar20) == bVar23;
    if (bVar20) goto LAB_0011eb78;
    iVar9 = 0xc;
    pbVar15 = (byte *)".fini_array.";
    pbVar18 = (byte *)ppiVar13[0x1b];
    do {
      if (iVar9 == 0) break;
      iVar9 = iVar9 + -1;
      bVar21 = *pbVar15 < *pbVar18;
      bVar20 = *pbVar15 == *pbVar18;
      pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
      pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
    } while (bVar20);
    if ((!bVar21 && !bVar20) == bVar21) goto LAB_0011eb78;
    bVar20 = false;
    bVar23 = *(char *)((int)piVar11 + 0xad5) == '\0';
    if (!bVar23) {
      iVar9 = 7;
      pbVar15 = (byte *)ppiVar13[0x1b];
      pbVar18 = (byte *)".ctors";
      do {
        if (iVar9 == 0) break;
        iVar9 = iVar9 + -1;
        bVar20 = *pbVar15 < *pbVar18;
        bVar23 = *pbVar15 == *pbVar18;
        pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
        pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
      } while (bVar23);
      bVar21 = false;
      bVar20 = (!bVar20 && !bVar23) == bVar20;
      if (!bVar20) {
        iVar9 = 7;
        pbVar15 = (byte *)ppiVar13[0x1b];
        pbVar18 = (byte *)".dtors";
        do {
          if (iVar9 == 0) break;
          iVar9 = iVar9 + -1;
          bVar21 = *pbVar15 < *pbVar18;
          bVar20 = *pbVar15 == *pbVar18;
          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
        } while (bVar20);
        if ((!bVar21 && !bVar20) != bVar21) goto LAB_0011edf0;
      }
      goto LAB_0011eb78;
    }
LAB_0011edf0:
    if (*(char *)((int)piVar11 + 0x3ced) != '\0') goto LAB_0011eb9d;
LAB_0011edfd:
    cVar4 = *(char *)((int)piVar11 + 0x318d);
LAB_0011ee04:
    if (cVar4 == '\0') {
LAB_0011ee0c:
      uVar17 = *(uint *)(*ppiVar13[0x1c] + 0x14);
      bVar20 = uVar17 < 4;
      bVar23 = uVar17 == 4;
      if (4 < uVar17) {
        iVar9 = 7;
        pbVar15 = (byte *)ppiVar13[0x1b];
        pbVar18 = (byte *)".ctors";
        do {
          if (iVar9 == 0) break;
          iVar9 = iVar9 + -1;
          bVar20 = *pbVar15 < *pbVar18;
          bVar23 = *pbVar15 == *pbVar18;
          pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
          pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
        } while (bVar23);
        bVar21 = false;
        bVar20 = (!bVar20 && !bVar23) == bVar20;
        if (bVar20) {
LAB_0011ee50:
          bVar23 = false;
          iVar9 = 0xc;
          pbVar15 = *(byte **)(iVar6 + 0x20);
          pbVar18 = (byte *)".init_array";
          do {
            if (iVar9 == 0) break;
            iVar9 = iVar9 + -1;
            bVar23 = *pbVar15 < *pbVar18;
            bVar20 = *pbVar15 == *pbVar18;
            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
          } while (bVar20);
          bVar20 = (!bVar23 && !bVar20) == bVar23;
          if (!bVar20) goto LAB_0011eeb8;
        }
        else {
          iVar9 = 7;
          pbVar15 = (byte *)".ctors.";
          pbVar18 = (byte *)ppiVar13[0x1b];
          do {
            if (iVar9 == 0) break;
            iVar9 = iVar9 + -1;
            bVar21 = *pbVar15 < *pbVar18;
            bVar20 = *pbVar15 == *pbVar18;
            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
          } while (bVar20);
          bVar20 = (!bVar21 && !bVar20) == bVar21;
          if (bVar20) goto LAB_0011ee50;
LAB_0011eeb8:
          bVar23 = false;
          iVar9 = 7;
          pbVar15 = (byte *)ppiVar13[0x1b];
          pbVar18 = (byte *)".dtors";
          do {
            if (iVar9 == 0) break;
            iVar9 = iVar9 + -1;
            bVar23 = *pbVar15 < *pbVar18;
            bVar20 = *pbVar15 == *pbVar18;
            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
          } while (bVar20);
          bVar21 = false;
          bVar20 = (!bVar23 && !bVar20) == bVar23;
          if (!bVar20) {
            iVar9 = 7;
            pbVar15 = (byte *)".dtors.";
            pbVar18 = (byte *)ppiVar13[0x1b];
            do {
              if (iVar9 == 0) break;
              iVar9 = iVar9 + -1;
              bVar21 = *pbVar15 < *pbVar18;
              bVar20 = *pbVar15 == *pbVar18;
              pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
              pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
            } while (bVar20);
            bVar20 = (!bVar21 && !bVar20) == bVar21;
            if (!bVar20) goto LAB_0011ebc0;
          }
          bVar23 = false;
          iVar9 = 0xc;
          pbVar15 = *(byte **)(iVar6 + 0x20);
          pbVar18 = (byte *)".fini_array";
          do {
            if (iVar9 == 0) break;
            iVar9 = iVar9 + -1;
            bVar23 = *pbVar15 < *pbVar18;
            bVar20 = *pbVar15 == *pbVar18;
            pbVar15 = pbVar15 + (uint)bVar25 * -2 + 1;
            pbVar18 = pbVar18 + (uint)bVar25 * -2 + 1;
          } while (bVar20);
          if ((!bVar23 && !bVar20) != bVar23) goto LAB_0011ebc0;
        }
        ppiVar13[10] = ppiVar13[0x19];
        ppiVar13[0xb] = ppiVar13[0x1a];
        ppiVar13[9] = &DAT_00414774;
        ppiVar13[0xfffffffd] = (int *)0x1;
        ppiVar13[0xfffffffc] = (int *)0x0;
        ppiVar13[0xfffffffb] = (int *)(ppiVar13 + 9);
        ppiVar13[0xfffffffa] = (int *)(ppiVar13 + 10);
        ppiVar13[0xfffffff9] = &DAT_00414774;
        ppiVar13[0xfffffff8] = (int *)(ppiVar13 + 4);
        ppiVar13[0xfffffff7] = (int *)0x11ee9f;
        FUN_000a8d90();
        ppiVar12 = ppiVar13 + 0x17;
        ppiVar13 = ppiVar13 + 0xffffffff;
        uVar17 = (uint)*(byte *)((*ppiVar12)[1] + 0xac);
        goto LAB_0011ebc2;
      }
    }
  }
LAB_0011ebc0:
  uVar17 = 0;
LAB_0011ebc2:
  uVar1 = *(uint *)(iVar6 + 0x54);
  *(uint *)((int)ppiVar13 + -4) = uVar17;
  *(undefined4 *)((int)ppiVar13 + -8) = *(undefined4 *)((int)ppiVar13 + 0x78);
  *(undefined4 *)((int)ppiVar13 + -0xc) = *(undefined4 *)((int)ppiVar13 + 0x70);
  *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x6c);
  *(undefined4 *)((int)ppiVar13 + -0x14) = *(undefined4 *)((int)ppiVar13 + 0x68);
  *(undefined4 *)((int)ppiVar13 + -0x18) = *(undefined4 *)((int)ppiVar13 + 100);
  *(undefined4 *)((int)ppiVar13 + -0x1c) = *(undefined4 *)((int)ppiVar13 + 0x60);
  *(int *)((int)ppiVar13 + -0x20) = iVar6;
  *(undefined4 *)((int)ppiVar13 + -0x24) = 0x11ebe4;
  uVar26 = FUN_00191220();
  **(undefined8 **)((int)ppiVar13 + 0x80) = uVar26;
  if (((uVar1 & 2) != 0) && (((uVar1 ^ *(uint *)(iVar6 + 0x54)) & 5) != 0)) {
    *(undefined4 *)((int)ppiVar13 + -8) = 0;
    *(int *)((int)ppiVar13 + -0xc) = iVar6;
    *(undefined4 *)((int)ppiVar13 + -0x10) = *(undefined4 *)((int)ppiVar13 + 0x60);
    *(undefined4 *)((int)ppiVar13 + -0x14) = 0x11ec12;
    uVar5 = FUN_00107cf0();
    *(undefined4 *)(iVar6 + 0x5c) = uVar5;
  }
  *(undefined1 *)(*(int *)((int)ppiVar13 + 0x60) + 0x1c4) = 1;
  return iVar6;
}

