
/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void do_adjust_dyn_symbol(Target_mips<32,_true> * this, Symbol * sym,
   uchar * view) */

void __thiscall
anon_unknown.dwarf_d7d43e::Target_mips<32,_true>::do_adjust_dyn_symbol
          (Target_mips<32,_true> *this,Symbol *sym,uchar *view)

{
  int *piVar1;
  int *piVar2;
  uint uVar3;
  uint uVar4;
  byte bVar5;
  byte bVar6;
  Target_mips<32,_true> *in_stack_ffffffd4;
  Mips16_stub_section<32,_true> *in_stack_ffffffd8;
  
  uVar4 = *(uint *)(view + 4);
  uVar3 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;
  bVar5 = sym->field_0x29;
  bVar6 = bVar5 >> 2;
  if (((bVar6 & 0x3c) == 0x3c) && (uVar3 != 0)) {
    piVar1 = (int *)sym[2].name_;
    uVar3 = uVar3 | 1;
    if (piVar1 != (int *)0x0) {
      uVar3 = Mips16_stub_section<32,_true>::output_address
                        ((Mips16_stub_section<32,_true> *)in_stack_ffffffd4,in_stack_ffffffd8);
      piVar2 = (int *)*piVar1;
      if (*(code **)(*piVar2 + 0x3c) == gold::Sized_relobj_file<32,_true>::do_section_size) {
        uVar4 = elfcpp::Elf_file<32,_true,_gold::Object>::section_size
                          ((Elf_file<32,_true,_gold::Object> *)(piVar2 + 0x24),piVar1[1]);
      }
      else {
        uVar4 = (**(code **)(*piVar2 + 0x3c))(piVar2,piVar1[1]);
      }
      *(uint *)(view + 8) =
           uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;
      bVar5 = sym->field_0x29;
      bVar6 = bVar5 >> 2;
    }
    *(uint *)(view + 4) =
         uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;
    view[0xd] = (bVar5 & 3) + 0x10 + bVar6 * '\x04';
    return;
  }
  if ((bVar6 & 0x30) != 0x20) {
    if (this->field_0xc == '\0') {
                    /* WARNING: Subroutine does not return */
      is_output_micromips(in_stack_ffffffd4);
    }
    if ((this->field_0xb & 2) == 0) {
      return;
    }
    if (*(char *)((int)&sym[1].got_offsets_.got_next_ + 1) == '\0') {
      return;
    }
  }
  if (uVar3 != 0) {
    *(uint *)(view + 4) = uVar4 | 0x1000000;
    view[0xd] = (bVar5 & 3) + 0x80 + bVar6 * '\x04';
  }
  return;
}



/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */
/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void FUN_001bc750(int param_1,int param_2,int param_3)

{
  byte bVar1;
  int *piVar2;
  int *piVar3;
  code *pcVar4;
  undefined4 *puVar5;
  char cVar6;
  uint uVar7;
  undefined4 uVar8;
  int iVar9;
  int iVar10;
  int *piVar11;
  undefined4 *puVar12;
  int iVar13;
  byte bVar14;
  int *piVar15;
  uint uVar16;
  int iVar17;
  uint uVar18;
  int iVar19;
  undefined8 uVar20;
  int iStackY_bc;
  int aiStack_a4 [4];
  undefined **ppuStack_94;
  code *pcStack_90;
  int aiStack_8c [2];
  undefined4 *puStack_84;
  int aiStack_70 [4];
  int iStack_60;
  undefined4 uStack_5c;
  byte bStack_59;
  int aiStack_58 [6];
  undefined4 uStack_40;
  int *piStack_3c;
  uint uStack_38;
  int iStack_34;
  uint uStack_30;
  uint local_20;
  
  uVar7 = *(uint *)(param_3 + 4);
  local_20 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;
  bVar1 = *(byte *)(param_2 + 0x29);
  bVar14 = bVar1 >> 2;
  uVar16 = bVar14 & 0x3c;
  if (((char)uVar16 == '<') && (uVar16 = local_20, local_20 != 0)) {
    piVar15 = *(int **)(param_2 + 0x60);
    uVar7 = local_20 | 1;
    if (piVar15 != (int *)0x0) {
      uStack_30 = 0x1bc806;
      uVar7 = FUN_0017c910();
      uStack_38 = piVar15[1];
      piStack_3c = (int *)*piVar15;
      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {
        piStack_3c = piStack_3c + 0x24;
        uStack_40 = 0x1bc82b;
        uVar16 = FUN_001089b0();
      }
      else {
        uStack_40 = 0x1bc867;
        uVar16 = (**(code **)(*piStack_3c + 0x3c))();
      }
      *(uint *)(param_3 + 8) =
           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;
      bVar1 = *(byte *)(param_2 + 0x29);
      bVar14 = bVar1 >> 2;
    }
    *(uint *)(param_3 + 4) =
         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;
    *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04';
    return;
  }
  uVar18 = bVar14 & 0x30;
  if ((char)uVar18 == ' ') {
LAB_001bc7be:
    if (local_20 != 0) {
      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;
      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';
    }
    return;
  }
  if (*(char *)(param_1 + 0xc) != '\0') {
    if ((*(byte *)(param_1 + 0xb) & 2) == 0) {
      return;
    }
    if (*(char *)(param_2 + 0x55) == '\0') {
      return;
    }
    goto LAB_001bc7be;
  }
  uStack_30 = 0x1bc871;
  uVar20 = FUN_00175bf0();
  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);
  aiStack_8c[1] = (int)uVar20;
  iStack_34 = param_3;
  uStack_40 = 0x1bc889;
  ppuStack_94 = &__DT_PLTGOT;
  piVar15 = aiStack_a4 + 3;
  iVar17 = *(int *)(aiStack_70[0] + 0x14);
  aiStack_8c[0] = iVar17;
  piStack_3c = (int *)uVar7;
  uStack_38 = uVar18;
  uStack_30 = uVar16;
  if (iVar17 != 0) {
    iStack_60 = 0;
    uStack_5c = 0x7ffffffe;
    FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1]);
    iStack_60 = 0x80000000;
    uStack_5c = 0x7ffffffe;
    FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1]);
    piVar15 = aiStack_a4 + 3;
    piVar11 = *(int **)(aiStack_8c[1] + 0x3c);
    if (piVar11 == (int *)0x0) {
      piVar15 = aiStack_a4 + 3;
      if (*(int *)(aiStack_8c[1] + 4) == 0) {
        return;
      }
    }
    else {
      pcStack_90 = FUN_00109500;
      puStack_84 = &DAT_005ea7c8;
      do {
        while( true ) {
          piVar2 = (int *)piVar11[1];
          iVar17 = piVar2[1];
          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;
LAB_001bc940:
          piVar11 = (int *)*piVar11;
          if (piVar11 == (int *)0x0) goto LAB_001bcab0;
        }
        iVar19 = *piVar2;
        piVar15[-3] = 0;
        piVar15[-4] = iVar19;
        piVar15[-5] = 0;
        piVar15[-6] = iVar17;
        piVar15[-7] = piVar2[2];
        piVar15[-8] = piVar15[3];
        piVar15[-9] = 0x1bc977;
        FUN_002e2ea0();
        iVar17 = piVar2[1];
        if (iVar17 == -1) {
          piVar15[-2] = piVar15[1] + -0x170e10;
          piVar15[-3] = 0x1f5;
          piVar15[-4] = piVar15[1] + -0x178e16;
                    /* WARNING: Subroutine does not return */
          piVar15[-5] = 0x1bcf98;
          FUN_002446e0();
        }
        piVar3 = (int *)piVar2[2];
        iVar19 = *piVar2;
        pcVar4 = *(code **)(*piVar3 + 0xb0);
        if (pcVar4 == (code *)piVar15[2]) {
          piVar15[0xf] = iVar19;
          piVar15[0xe] = iVar17;
          piVar15[0x10] = 0;
          piVar15[-2] = (int)(piVar15 + 0xe);
          piVar15[-3] = (int)(piVar3 + 0x1a);
          piVar15[-4] = (int)(piVar15 + 0xb);
          piVar15[-5] = 0x1bc9c1;
          FUN_00109250();
          if (piVar15[10] == 0) {
            piVar15[-3] = *piVar15 + -0x16f81c;
            piVar15[-4] = 0x83c;
            piVar15[-5] = *piVar15 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            piVar15[-6] = 0x1bcf79;
            FUN_002446e0();
          }
          piVar3 = *(int **)(piVar15[10] + 0x10);
          while( true ) {
            if (piVar3 == (int *)0x0) goto LAB_001bcf00;
            if (*piVar3 == 0) break;
            piVar3 = (int *)piVar3[2];
          }
          iVar17 = piVar3[1];
          piVar3 = piVar15 + -1;
          if (iVar17 == -1) {
LAB_001bcf00:
            piVar15[-3] = *piVar15 + -0x16f81c;
            piVar15[-4] = 0x83e;
            piVar15[-5] = *piVar15 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            piVar15[-6] = 0x1bcf1f;
            FUN_002446e0();
          }
        }
        else {
          piVar15[-4] = 0;
          piVar15[-5] = iVar19;
          piVar15[-6] = 0;
          piVar15[-7] = iVar17;
          piVar15[-8] = (int)piVar3;
          piVar15[-9] = 0x1bcd33;
          iVar17 = (*pcVar4)();
          piVar3 = piVar15;
        }
        piVar15 = piVar3;
        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||
           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;
        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);
        if (iVar19 == 0) goto LAB_001bcf3e;
        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))
        goto LAB_001bc940;
        if (*(char *)((int)piVar2 + 0xd) == '\0') {
          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;
          uVar8 = FUN_001950e0();
          iVar19 = piVar2[1];
          if (iVar19 == -1) {
LAB_001bcf98:
            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;
            FUN_001756d0();
            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);
            goto LAB_001bcf9d;
          }
          *(undefined4 *)((int)piVar15 + -0xc) = 0;
          *(undefined4 *)((int)piVar15 + -0x10) = 0;
          *(undefined4 *)((int)piVar15 + -0x14) = 0;
        }
        else {
          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;
          uVar8 = FUN_001950e0();
          iVar19 = piVar2[1];
          if (iVar19 == -1) goto LAB_001bcf98;
          *(undefined4 *)((int)piVar15 + -0xc) = 0;
          *(undefined4 *)((int)piVar15 + -0x10) = 0;
          *(undefined4 *)((int)piVar15 + -0x14) = 1;
        }
        *(undefined4 *)((int)piVar15 + -0x18) = 0;
        *(int *)((int)piVar15 + -0x1c) = iVar17;
        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);
        *(undefined4 *)((int)piVar15 + -0x24) = 3;
        *(int *)((int)piVar15 + -0x28) = iVar19;
        *(int *)((int)piVar15 + -0x2c) = piVar2[2];
        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);
        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;
        FUN_002d6220();
        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);
        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);
        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;
        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;
        FUN_00072fa0();
        piVar11 = (int *)*piVar11;
      } while (piVar11 != (int *)0x0);
LAB_001bcab0:
      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;
    }
    uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);
    iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14);
    if (iVar17 != 0) {
      *(undefined4 *)((int)piVar15 + 0x38) = 0;
      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;
      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);
      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);
      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;
      *(undefined4 *)((int)piVar15 + -0x1c) = 0;
      *(int *)((int)piVar15 + -0x20) = iVar17;
      iVar19 = *(int *)((int)piVar15 + 4);
      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;
      iVar9 = FUN_002e2810();
      iVar10 = *(int *)(iVar17 + 0x80);
      iVar13 = *(int *)((int)piVar15 + 0x10);
      *(int *)(iVar13 + 0x6c) = iVar9;
      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {
        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);
        if (iVar19 == 0) {
LAB_001bcf3e:
          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;
          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;
          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;
          FUN_002446e0();
        }
        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {
          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;
          uVar8 = FUN_001950e0();
          *(undefined4 *)((int)piVar15 + -0x10) = 0;
          *(undefined4 *)((int)piVar15 + -0x14) =
               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);
          *(int *)((int)piVar15 + -0x18) = iVar17;
          *(undefined4 *)((int)piVar15 + -0x1c) = 3;
          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);
          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;
          FUN_002d5740();
          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);
          *(int *)((int)piVar15 + -0xc) = iVar17;
          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;
          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;
          FUN_00072fa0();
          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);
        }
      }
      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);
      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;
      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;
      while (iVar19 = iVar19 + -1, 0 < iVar19) {
        *(undefined4 *)((int)piVar15 + 0x38) = 0;
        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;
        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);
        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);
        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;
        *(undefined4 *)((int)piVar15 + -0x1c) = 0;
        *(int *)((int)piVar15 + -0x20) = iVar17;
        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;
        uVar8 = FUN_002e2810();
        *(undefined4 *)((int)piVar15 + 8) = uVar8;
        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))
        {
          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);
          if (iVar10 == 0) goto LAB_001bcf3e;
          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {
            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;
            uVar8 = FUN_001950e0();
            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;
            *(undefined4 *)((int)piVar15 + -0x10) = 0;
            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);
            *(int *)((int)piVar15 + -0x18) = iVar17;
            *(undefined4 *)((int)piVar15 + -0x1c) = 3;
            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);
            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);
            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;
            FUN_002d5740();
            iVar10 = *(int *)((int)piVar15 + 0x18);
            puVar5 = *(undefined4 **)(iVar10 + 0x38);
            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {
              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);
              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;
              *(int *)((int)piVar15 + 0x14) = iVar10;
              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;
              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;
              FUN_00072dc0();
              iVar10 = *(int *)((int)piVar15 + 0x14);
              puVar12 = *(undefined4 **)(iVar10 + 0x38);
            }
            else {
              puVar12 = puVar5 + 6;
              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);
              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);
              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);
              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);
              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);
              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);
              *(undefined4 **)(iVar10 + 0x38) = puVar12;
            }
            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;
            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;
            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;
            *(undefined4 *)(iVar10 + 0x10) = 0;
            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;
            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {
              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;
            }
            iVar10 = *(int *)((int)piVar15 + 0x3c);
            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {
              if (*(int *)(iVar10 + 100) == 0) {
                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;
              }
              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;
            }
          }
        }
        iVar10 = iVar9 + 4;
        iVar9 = *(int *)((int)piVar15 + 8);
        if (iVar9 != iVar10) {
          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;
          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;
          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;
          FUN_002446e0();
        }
      }
      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =
           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);
LAB_001bcd72:
      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);
      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;
      do {
        if (puVar5 == (undefined4 *)0x0) {
          return;
        }
        iVar17 = puVar5[1];
        if (((*(int *)(iVar17 + 4) == -1) &&
            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&
           (*(char *)(iVar17 + 0xc) == '\0')) {
          iVar17 = 0;
          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {
            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);
            *(int *)((int)piVar15 + 8) = iVar17;
            iVar17 = iVar17 + 3;
          }
          *(int *)((int)piVar15 + -8) = iVar17;
          *(int *)((int)piVar15 + -0xc) = iVar19;
          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);
          uVar8 = *(undefined4 *)((int)piVar15 + 4);
          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;
          cVar6 = FUN_002e2990();
          if (cVar6 != '\0') {
            piVar11 = (int *)(iVar19 + 0x1c);
            while (iVar17 != *piVar11) {
              piVar11 = (int *)piVar11[2];
              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;
            }
            uVar7 = piVar11[1];
            if (uVar7 == 0xffffffff) {
LAB_001bcdfb:
              *(undefined4 *)((int)piVar15 + -4) = uVar8;
              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;
              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;
              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;
                    /* WARNING: Subroutine does not return */
              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;
              FUN_002446e0();
            }
            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {
              *(uint *)(iVar19 + 0x50) = uVar7;
            }
            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&
               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {
              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);
              if (iVar10 == 0) goto LAB_001bcf3e;
              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {
                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;
                uVar8 = FUN_001950e0();
                *(undefined4 *)((int)piVar15 + 8) = uVar8;
                *(int *)((int)piVar15 + -0xc) = iVar17;
                *(int *)((int)piVar15 + -0x10) = iVar19;
                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;
                uVar8 = FUN_0008fe50();
                *(undefined4 *)((int)piVar15 + -4) = 0;
                *(undefined4 *)((int)piVar15 + -8) = 1;
                *(undefined4 *)((int)piVar15 + -0xc) = 0;
                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;
                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);
                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;
                *(undefined4 *)((int)piVar15 + -0x18) = 3;
                *(int *)((int)piVar15 + -0x1c) = iVar19;
                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);
                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;
                FUN_002d6080();
                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);
                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;
                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);
                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;
                FUN_00072fa0();
              }
            }
          }
        }
        puVar5 = (undefined4 *)*puVar5;
      } while( true );
    }
  }
LAB_001bcf9d:
  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);
  aiStack_8c[1] = (int)uVar20;
  *(undefined4 *)((int)piVar15 + -4) = 0x1bcfa2;
  FUN_001755c0();
LAB_001bcfa2:
  *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f920;
  *(undefined4 *)((int)piVar15 + -0xc) = 0x231;
  *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cca3;
                    /* WARNING: Subroutine does not return */
  *(undefined **)((int)piVar15 + -0x14) = &UNK_001bcfc1;
  FUN_002446e0();
}


PUSH EBP
PUSH EDI
PUSH ESI
CALL 0x00063c76
ADD ESI,0x42d8a8
PUSH EBX
SUB ESP,0x1c
MOV EDI,dword ptr [ESP + 0x38]
MOV EBX,dword ptr [EDI + 0x4]
MOV EAX,EBX
BSWAP EAX
MOV dword ptr [ESP + 0xc],EAX
MOV EAX,dword ptr [ESP + 0x34]
MOVZX ECX,byte ptr [EAX + 0x29]
MOV EDX,ECX
SHR DL,0x2
MOV EBP,EDX
AND EBP,0x3c
MOV EAX,EBP
CMP AL,0x3c
JNZ 0x001bc791
MOV EBP,dword ptr [ESP + 0xc]
TEST EBP,EBP
JNZ 0x001bc7e8
MOV ESI,EDX
AND ESI,0x30
MOV EAX,ESI
CMP AL,0x20
JZ 0x001bc7be
MOV EAX,dword ptr [ESP + 0x30]
CMP byte ptr [EAX + 0xc],0x0
JZ 0x001bc86c
MOV EAX,dword ptr [ESP + 0x30]
TEST byte ptr [EAX + 0xb],0x2
JZ 0x001bc7d9
MOV EAX,dword ptr [ESP + 0x34]
CMP byte ptr [EAX + 0x55],0x0
JZ 0x001bc7d9
MOV EAX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JZ 0x001bc7d9
AND ECX,0x3
OR EBX,0x1000000
LEA EDX,[ECX + EDX*0x4 + -0x80]
MOV dword ptr [EDI + 0x4],EBX
MOV byte ptr [EDI + 0xd],DL
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [ESP + 0x34]
MOV EBX,dword ptr [EAX + 0x60]
MOV EAX,dword ptr [ESP + 0xc]
OR EAX,0x1
MOV EBP,EAX
TEST EBX,EBX
JZ 0x001bc840
LEA EDX,[EBX + 0x4]
MOV EAX,EBX
CALL 0x0017c910
MOV ECX,dword ptr [EBX + 0x4]
MOV EBP,EAX
MOV EAX,dword ptr [EBX]
LEA EBX,[ESI + 0xffb1ea70]
MOV EDX,dword ptr [EAX]
MOV EDX,dword ptr [EDX + 0x3c]
CMP EDX,EBX
JNZ 0x001bc860
SUB ESP,0x8
ADD EAX,0x90
PUSH ECX
PUSH EAX
CALL 0x001089b0
ADD ESP,0x10
BSWAP EAX
MOV dword ptr [EDI + 0x8],EAX
MOV EAX,dword ptr [ESP + 0x34]
MOVZX ECX,byte ptr [EAX + 0x29]
MOV EDX,ECX
SHR DL,0x2
AND ECX,0x3
MOV EAX,EBP
LEA EDX,[ECX + EDX*0x4 + 0x10]
BSWAP EAX
MOV dword ptr [EDI + 0x4],EAX
MOV byte ptr [EDI + 0xd],DL
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x8
PUSH ECX
PUSH EAX
CALL EDX
ADD ESP,0x10
JMP 0x001bc82e
CALL 0x00175bf0
NOP
LEA ESI,[ESI]
LEA ESI,[ESI]
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */\n/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_001bc750(int param_1,int param_2,int param_3)\n\n{\n  byte bVar1;\n  int *piVar2;\n  int *piVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char cVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  int iVar9;\n  int iVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int iVar13;\n  byte bVar14;\n  int *piVar15;\n  uint uVar16;\n  int iVar17;\n  uint uVar18;\n  int iVar19;\n  undefined8 uVar20;\n  int iStackY_bc;\n  int aiStack_a4 [4];\n  undefined **ppuStack_94;\n  code *pcStack_90;\n  int aiStack_8c [2];\n  undefined4 *puStack_84;\n  int aiStack_70 [4];\n  int iStack_60;\n  undefined4 uStack_5c;\n  byte bStack_59;\n  int aiStack_58 [6];\n  undefined4 uStack_40;\n  int *piStack_3c;\n  uint uStack_38;\n  int iStack_34;\n  uint uStack_30;\n  uint local_20;\n  \n  uVar7 = *(uint *)(param_3 + 4);\n  local_20 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n  bVar1 = *(byte *)(param_2 + 0x29);\n  bVar14 = bVar1 >> 2;\n  uVar16 = bVar14 & 0x3c;\n  if (((char)uVar16 == '<') && (uVar16 = local_20, local_20 != 0)) {\n    piVar15 = *(int **)(param_2 + 0x60);\n    uVar7 = local_20 | 1;\n    if (piVar15 != (int *)0x0) {\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }\n    *(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n    *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04';\n    return;\n  }\n  uVar18 = bVar14 & 0x30;\n  if ((char)uVar18 == ' ') {\nLAB_001bc7be:\n    if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }\n    return;\n  }\n  if (*(char *)(param_1 + 0xc) != '\0') {\n    if ((*(byte *)(param_1 + 0xb) & 2) == 0) {\n      return;\n    }\n    if (*(char *)(param_2 + 0x55) == '\0') {\n      return;\n    }\n    goto LAB_001bc7be;\n  }\n  uStack_30 = 0x1bc871;\n  uVar20 = FUN_00175bf0();\n  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);\n  aiStack_8c[1] = (int)uVar20;\n  iStack_34 = param_3;\n  uStack_40 = 0x1bc889;\n  ppuStack_94 = &__DT_PLTGOT;\n  piVar15 = aiStack_a4 + 3;\n  iVar17 = *(int *)(aiStack_70[0] + 0x14);\n  aiStack_8c[0] = iVar17;\n  piStack_3c = (int *)uVar7;\n  uStack_38 = uVar18;\n  uStack_30 = uVar16;\n  if (iVar17 != 0) {\n    iStack_60 = 0;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    iStack_60 = 0x80000000;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    piVar15 = aiStack_a4 + 3;\n    piVar11 = *(int **)(aiStack_8c[1] + 0x3c);\n    if (piVar11 == (int *)0x0) {\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }\n    uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n    iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14);\n    if (iVar17 != 0) {\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }\n  }\nLAB_001bcf9d:\n  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);\n  aiStack_8c[1] = (int)uVar20;\n  *(undefined4 *)((int)piVar15 + -4) = 0x1bcfa2;\n  FUN_001755c0();\nLAB_001bcfa2:\n  *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f920;\n  *(undefined4 *)((int)piVar15 + -0xc) = 0x231;\n  *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n  *(undefined **)((int)piVar15 + -0x14) = &UNK_001bcfc1;\n  FUN_002446e0();\n}\n\n" comment comment (function_definition "void FUN_001bc750(int param_1,int param_2,int param_3)\n\n{\n  byte bVar1;\n  int *piVar2;\n  int *piVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char cVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  int iVar9;\n  int iVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int iVar13;\n  byte bVar14;\n  int *piVar15;\n  uint uVar16;\n  int iVar17;\n  uint uVar18;\n  int iVar19;\n  undefined8 uVar20;\n  int iStackY_bc;\n  int aiStack_a4 [4];\n  undefined **ppuStack_94;\n  code *pcStack_90;\n  int aiStack_8c [2];\n  undefined4 *puStack_84;\n  int aiStack_70 [4];\n  int iStack_60;\n  undefined4 uStack_5c;\n  byte bStack_59;\n  int aiStack_58 [6];\n  undefined4 uStack_40;\n  int *piStack_3c;\n  uint uStack_38;\n  int iStack_34;\n  uint uStack_30;\n  uint local_20;\n  \n  uVar7 = *(uint *)(param_3 + 4);\n  local_20 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n  bVar1 = *(byte *)(param_2 + 0x29);\n  bVar14 = bVar1 >> 2;\n  uVar16 = bVar14 & 0x3c;\n  if (((char)uVar16 == '<') && (uVar16 = local_20, local_20 != 0)) {\n    piVar15 = *(int **)(param_2 + 0x60);\n    uVar7 = local_20 | 1;\n    if (piVar15 != (int *)0x0) {\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }\n    *(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n    *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04';\n    return;\n  }\n  uVar18 = bVar14 & 0x30;\n  if ((char)uVar18 == ' ') {\nLAB_001bc7be:\n    if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }\n    return;\n  }\n  if (*(char *)(param_1 + 0xc) != '\0') {\n    if ((*(byte *)(param_1 + 0xb) & 2) == 0) {\n      return;\n    }\n    if (*(char *)(param_2 + 0x55) == '\0') {\n      return;\n    }\n    goto LAB_001bc7be;\n  }\n  uStack_30 = 0x1bc871;\n  uVar20 = FUN_00175bf0();\n  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);\n  aiStack_8c[1] = (int)uVar20;\n  iStack_34 = param_3;\n  uStack_40 = 0x1bc889;\n  ppuStack_94 = &__DT_PLTGOT;\n  piVar15 = aiStack_a4 + 3;\n  iVar17 = *(int *)(aiStack_70[0] + 0x14);\n  aiStack_8c[0] = iVar17;\n  piStack_3c = (int *)uVar7;\n  uStack_38 = uVar18;\n  uStack_30 = uVar16;\n  if (iVar17 != 0) {\n    iStack_60 = 0;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    iStack_60 = 0x80000000;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    piVar15 = aiStack_a4 + 3;\n    piVar11 = *(int **)(aiStack_8c[1] + 0x3c);\n    if (piVar11 == (int *)0x0) {\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }\n    uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n    iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14);\n    if (iVar17 != 0) {\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }\n  }\nLAB_001bcf9d:\n  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);\n  aiStack_8c[1] = (int)uVar20;\n  *(undefined4 *)((int)piVar15 + -4) = 0x1bcfa2;\n  FUN_001755c0();\nLAB_001bcfa2:\n  *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f920;\n  *(undefined4 *)((int)piVar15 + -0xc) = 0x231;\n  *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n  *(undefined **)((int)piVar15 + -0x14) = &UNK_001bcfc1;\n  FUN_002446e0();\n}" primitive_type (function_declarator "FUN_001bc750(int param_1,int param_2,int param_3)" identifier (parameter_list "(int param_1,int param_2,int param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  int *piVar2;\n  int *piVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char cVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  int iVar9;\n  int iVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int iVar13;\n  byte bVar14;\n  int *piVar15;\n  uint uVar16;\n  int iVar17;\n  uint uVar18;\n  int iVar19;\n  undefined8 uVar20;\n  int iStackY_bc;\n  int aiStack_a4 [4];\n  undefined **ppuStack_94;\n  code *pcStack_90;\n  int aiStack_8c [2];\n  undefined4 *puStack_84;\n  int aiStack_70 [4];\n  int iStack_60;\n  undefined4 uStack_5c;\n  byte bStack_59;\n  int aiStack_58 [6];\n  undefined4 uStack_40;\n  int *piStack_3c;\n  uint uStack_38;\n  int iStack_34;\n  uint uStack_30;\n  uint local_20;\n  \n  uVar7 = *(uint *)(param_3 + 4);\n  local_20 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n  bVar1 = *(byte *)(param_2 + 0x29);\n  bVar14 = bVar1 >> 2;\n  uVar16 = bVar14 & 0x3c;\n  if (((char)uVar16 == '<') && (uVar16 = local_20, local_20 != 0)) {\n    piVar15 = *(int **)(param_2 + 0x60);\n    uVar7 = local_20 | 1;\n    if (piVar15 != (int *)0x0) {\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }\n    *(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n    *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04';\n    return;\n  }\n  uVar18 = bVar14 & 0x30;\n  if ((char)uVar18 == ' ') {\nLAB_001bc7be:\n    if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }\n    return;\n  }\n  if (*(char *)(param_1 + 0xc) != '\0') {\n    if ((*(byte *)(param_1 + 0xb) & 2) == 0) {\n      return;\n    }\n    if (*(char *)(param_2 + 0x55) == '\0') {\n      return;\n    }\n    goto LAB_001bc7be;\n  }\n  uStack_30 = 0x1bc871;\n  uVar20 = FUN_00175bf0();\n  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);\n  aiStack_8c[1] = (int)uVar20;\n  iStack_34 = param_3;\n  uStack_40 = 0x1bc889;\n  ppuStack_94 = &__DT_PLTGOT;\n  piVar15 = aiStack_a4 + 3;\n  iVar17 = *(int *)(aiStack_70[0] + 0x14);\n  aiStack_8c[0] = iVar17;\n  piStack_3c = (int *)uVar7;\n  uStack_38 = uVar18;\n  uStack_30 = uVar16;\n  if (iVar17 != 0) {\n    iStack_60 = 0;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    iStack_60 = 0x80000000;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    piVar15 = aiStack_a4 + 3;\n    piVar11 = *(int **)(aiStack_8c[1] + 0x3c);\n    if (piVar11 == (int *)0x0) {\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }\n    uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n    iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14);\n    if (iVar17 != 0) {\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }\n  }\nLAB_001bcf9d:\n  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);\n  aiStack_8c[1] = (int)uVar20;\n  *(undefined4 *)((int)piVar15 + -4) = 0x1bcfa2;\n  FUN_001755c0();\nLAB_001bcfa2:\n  *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f920;\n  *(undefined4 *)((int)piVar15 + -0xc) = 0x231;\n  *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n  *(undefined **)((int)piVar15 + -0x14) = &UNK_001bcfc1;\n  FUN_002446e0();\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "undefined8 uVar20;" type_identifier identifier ;) (declaration "int iStackY_bc;" primitive_type identifier ;) (declaration "int aiStack_a4 [4];" primitive_type (array_declarator "aiStack_a4 [4]" identifier [ number_literal ]) ;) (declaration "undefined **ppuStack_94;" type_identifier (pointer_declarator "**ppuStack_94" * (pointer_declarator "*ppuStack_94" * identifier)) ;) (declaration "code *pcStack_90;" type_identifier (pointer_declarator "*pcStack_90" * identifier) ;) (declaration "int aiStack_8c [2];" primitive_type (array_declarator "aiStack_8c [2]" identifier [ number_literal ]) ;) (declaration "undefined4 *puStack_84;" type_identifier (pointer_declarator "*puStack_84" * identifier) ;) (declaration "int aiStack_70 [4];" primitive_type (array_declarator "aiStack_70 [4]" identifier [ number_literal ]) ;) (declaration "int iStack_60;" primitive_type identifier ;) (declaration "undefined4 uStack_5c;" type_identifier identifier ;) (declaration "byte bStack_59;" type_identifier identifier ;) (declaration "int aiStack_58 [6];" primitive_type (array_declarator "aiStack_58 [6]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_40;" type_identifier identifier ;) (declaration "int *piStack_3c;" primitive_type (pointer_declarator "*piStack_3c" * identifier) ;) (declaration "uint uStack_38;" type_identifier identifier ;) (declaration "int iStack_34;" primitive_type identifier ;) (declaration "uint uStack_30;" type_identifier identifier ;) (declaration "uint local_20;" type_identifier identifier ;) (expression_statement "uVar7 = *(uint *)(param_3 + 4);" (assignment_expression "uVar7 = *(uint *)(param_3 + 4)" identifier = (pointer_expression "*(uint *)(param_3 + 4)" * (cast_expression "(uint *)(param_3 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_20 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;" (assignment_expression "local_20 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" identifier = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x18" identifier << number_literal))) ;) (expression_statement "bVar1 = *(byte *)(param_2 + 0x29);" (assignment_expression "bVar1 = *(byte *)(param_2 + 0x29)" identifier = (pointer_expression "*(byte *)(param_2 + 0x29)" * (cast_expression "(byte *)(param_2 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x29)" ( (binary_expression "param_2 + 0x29" identifier + number_literal) ))))) ;) (expression_statement "bVar14 = bVar1 >> 2;" (assignment_expression "bVar14 = bVar1 >> 2" identifier = (binary_expression "bVar1 >> 2" identifier >> number_literal)) ;) (expression_statement "uVar16 = bVar14 & 0x3c;" (assignment_expression "uVar16 = bVar14 & 0x3c" identifier = (binary_expression "bVar14 & 0x3c" identifier & number_literal)) ;) (if_statement "if (((char)uVar16 == '<') && (uVar16 = local_20, local_20 != 0)) {\n    piVar15 = *(int **)(param_2 + 0x60);\n    uVar7 = local_20 | 1;\n    if (piVar15 != (int *)0x0) {\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }\n    *(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n    *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04';\n    return;\n  }" if (parenthesized_expression "(((char)uVar16 == '<') && (uVar16 = local_20, local_20 != 0))" ( (binary_expression "((char)uVar16 == '<') && (uVar16 = local_20, local_20 != 0)" (parenthesized_expression "((char)uVar16 == '<')" ( (binary_expression "(char)uVar16 == '<'" (cast_expression "(char)uVar16" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'<'" ' character ')) )) && (parenthesized_expression "(uVar16 = local_20, local_20 != 0)" ( (comma_expression "uVar16 = local_20, local_20 != 0" (assignment_expression "uVar16 = local_20" identifier = identifier) , (binary_expression "local_20 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    piVar15 = *(int **)(param_2 + 0x60);\n    uVar7 = local_20 | 1;\n    if (piVar15 != (int *)0x0) {\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }\n    *(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n    *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04';\n    return;\n  }" { (expression_statement "piVar15 = *(int **)(param_2 + 0x60);" (assignment_expression "piVar15 = *(int **)(param_2 + 0x60)" identifier = (pointer_expression "*(int **)(param_2 + 0x60)" * (cast_expression "(int **)(param_2 + 0x60)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x60)" ( (binary_expression "param_2 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = local_20 | 1;" (assignment_expression "uVar7 = local_20 | 1" identifier = (binary_expression "local_20 | 1" identifier | number_literal)) ;) (if_statement "if (piVar15 != (int *)0x0) {\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }" if (parenthesized_expression "(piVar15 != (int *)0x0)" ( (binary_expression "piVar15 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }" { (expression_statement "uStack_30 = 0x1bc806;" (assignment_expression "uStack_30 = 0x1bc806" identifier = number_literal) ;) (expression_statement "uVar7 = FUN_0017c910();" (assignment_expression "uVar7 = FUN_0017c910()" identifier = (call_expression "FUN_0017c910()" identifier (argument_list "()" ( )))) ;) (expression_statement "uStack_38 = piVar15[1];" (assignment_expression "uStack_38 = piVar15[1]" identifier = (subscript_expression "piVar15[1]" identifier [ number_literal ])) ;) (expression_statement "piStack_3c = (int *)*piVar15;" (assignment_expression "piStack_3c = (int *)*piVar15" identifier = (cast_expression "(int *)*piVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar15" * identifier))) ;) (if_statement "if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }" if (parenthesized_expression "(*(code **)(*piStack_3c + 0x3c) == FUN_00108a70)" ( (binary_expression "*(code **)(*piStack_3c + 0x3c) == FUN_00108a70" (pointer_expression "*(code **)(*piStack_3c + 0x3c)" * (cast_expression "(code **)(*piStack_3c + 0x3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piStack_3c + 0x3c)" ( (binary_expression "*piStack_3c + 0x3c" (pointer_expression "*piStack_3c" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }" { (expression_statement "piStack_3c = piStack_3c + 0x24;" (assignment_expression "piStack_3c = piStack_3c + 0x24" identifier = (binary_expression "piStack_3c + 0x24" identifier + number_literal)) ;) (expression_statement "uStack_40 = 0x1bc82b;" (assignment_expression "uStack_40 = 0x1bc82b" identifier = number_literal) ;) (expression_statement "uVar16 = FUN_001089b0();" (assignment_expression "uVar16 = FUN_001089b0()" identifier = (call_expression "FUN_001089b0()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }" else (compound_statement "{\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }" { (expression_statement "uStack_40 = 0x1bc867;" (assignment_expression "uStack_40 = 0x1bc867" identifier = number_literal) ;) (expression_statement "uVar16 = (**(code **)(*piStack_3c + 0x3c))();" (assignment_expression "uVar16 = (**(code **)(*piStack_3c + 0x3c))()" identifier = (call_expression "(**(code **)(*piStack_3c + 0x3c))()" (parenthesized_expression "(**(code **)(*piStack_3c + 0x3c))" ( (pointer_expression "**(code **)(*piStack_3c + 0x3c)" * (pointer_expression "*(code **)(*piStack_3c + 0x3c)" * (cast_expression "(code **)(*piStack_3c + 0x3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piStack_3c + 0x3c)" ( (binary_expression "*piStack_3c + 0x3c" (pointer_expression "*piStack_3c" * identifier) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }))) (expression_statement "*(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;" (assignment_expression "*(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (pointer_expression "*(uint *)(param_3 + 8)" * (cast_expression "(uint *)(param_3 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) )))) = (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal))) ;) (expression_statement "bVar1 = *(byte *)(param_2 + 0x29);" (assignment_expression "bVar1 = *(byte *)(param_2 + 0x29)" identifier = (pointer_expression "*(byte *)(param_2 + 0x29)" * (cast_expression "(byte *)(param_2 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x29)" ( (binary_expression "param_2 + 0x29" identifier + number_literal) ))))) ;) (expression_statement "bVar14 = bVar1 >> 2;" (assignment_expression "bVar14 = bVar1 >> 2" identifier = (binary_expression "bVar1 >> 2" identifier >> number_literal)) ;) })) (expression_statement "*(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;" (assignment_expression "*(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (pointer_expression "*(uint *)(param_3 + 4)" * (cast_expression "(uint *)(param_3 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) )))) = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x18" identifier << number_literal))) ;) (expression_statement "*(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04';" (assignment_expression "*(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04'" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) = (binary_expression "(bVar1 & 3) + 0x10 + bVar14 * '\x04'" (binary_expression "(bVar1 & 3) + 0x10" (parenthesized_expression "(bVar1 & 3)" ( (binary_expression "bVar1 & 3" identifier & number_literal) )) + number_literal) + (binary_expression "bVar14 * '\x04'" identifier * (char_literal "'\x04'" ' escape_sequence ')))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar18 = bVar14 & 0x30;" (assignment_expression "uVar18 = bVar14 & 0x30" identifier = (binary_expression "bVar14 & 0x30" identifier & number_literal)) ;) (if_statement "if ((char)uVar18 == ' ') {\nLAB_001bc7be:\n    if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }\n    return;\n  }" if (parenthesized_expression "((char)uVar18 == ' ')" ( (binary_expression "(char)uVar18 == ' '" (cast_expression "(char)uVar18" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "' '" ' character ')) )) (compound_statement "{\nLAB_001bc7be:\n    if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }\n    return;\n  }" { (labeled_statement "LAB_001bc7be:\n    if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }" statement_identifier : (if_statement "if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }" if (parenthesized_expression "(local_20 != 0)" ( (binary_expression "local_20 != 0" identifier != number_literal) )) (compound_statement "{\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }" { (expression_statement "*(uint *)(param_3 + 4) = uVar7 | 0x1000000;" (assignment_expression "*(uint *)(param_3 + 4) = uVar7 | 0x1000000" (pointer_expression "*(uint *)(param_3 + 4)" * (cast_expression "(uint *)(param_3 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) )))) = (binary_expression "uVar7 | 0x1000000" identifier | number_literal)) ;) (expression_statement "*(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';" (assignment_expression "*(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04'" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) = (binary_expression "(bVar1 & 3) + 0x80 + bVar14 * '\x04'" (binary_expression "(bVar1 & 3) + 0x80" (parenthesized_expression "(bVar1 & 3)" ( (binary_expression "bVar1 & 3" identifier & number_literal) )) + number_literal) + (binary_expression "bVar14 * '\x04'" identifier * (char_literal "'\x04'" ' escape_sequence ')))) ;) }))) (return_statement "return;" return ;) })) (if_statement "if (*(char *)(param_1 + 0xc) != '\0') {\n    if ((*(byte *)(param_1 + 0xb) & 2) == 0) {\n      return;\n    }\n    if (*(char *)(param_2 + 0x55) == '\0') {\n      return;\n    }\n    goto LAB_001bc7be;\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0xc) != '\0')" ( (binary_expression "*(char *)(param_1 + 0xc) != '\0'" (pointer_expression "*(char *)(param_1 + 0xc)" * (cast_expression "(char *)(param_1 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if ((*(byte *)(param_1 + 0xb) & 2) == 0) {\n      return;\n    }\n    if (*(char *)(param_2 + 0x55) == '\0') {\n      return;\n    }\n    goto LAB_001bc7be;\n  }" { (if_statement "if ((*(byte *)(param_1 + 0xb) & 2) == 0) {\n      return;\n    }" if (parenthesized_expression "((*(byte *)(param_1 + 0xb) & 2) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0xb) & 2) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0xb) & 2)" ( (binary_expression "*(byte *)(param_1 + 0xb) & 2" (pointer_expression "*(byte *)(param_1 + 0xb)" * (cast_expression "(byte *)(param_1 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb)" ( (binary_expression "param_1 + 0xb" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (*(char *)(param_2 + 0x55) == '\0') {\n      return;\n    }" if (parenthesized_expression "(*(char *)(param_2 + 0x55) == '\0')" ( (binary_expression "*(char *)(param_2 + 0x55) == '\0'" (pointer_expression "*(char *)(param_2 + 0x55)" * (cast_expression "(char *)(param_2 + 0x55)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x55)" ( (binary_expression "param_2 + 0x55" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_001bc7be;" goto statement_identifier ;) })) (expression_statement "uStack_30 = 0x1bc871;" (assignment_expression "uStack_30 = 0x1bc871" identifier = number_literal) ;) (expression_statement "uVar20 = FUN_00175bf0();" (assignment_expression "uVar20 = FUN_00175bf0()" identifier = (call_expression "FUN_00175bf0()" identifier (argument_list "()" ( )))) ;) (expression_statement "aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);" (assignment_expression "aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20)" (subscript_expression "aiStack_70[0]" identifier [ number_literal ]) = (cast_expression "(int)((ulonglong)uVar20 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar20 >> 0x20)" ( (binary_expression "(ulonglong)uVar20 >> 0x20" (cast_expression "(ulonglong)uVar20" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "aiStack_8c[1] = (int)uVar20;" (assignment_expression "aiStack_8c[1] = (int)uVar20" (subscript_expression "aiStack_8c[1]" identifier [ number_literal ]) = (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iStack_34 = param_3;" (assignment_expression "iStack_34 = param_3" identifier = identifier) ;) (expression_statement "uStack_40 = 0x1bc889;" (assignment_expression "uStack_40 = 0x1bc889" identifier = number_literal) ;) (expression_statement "ppuStack_94 = &__DT_PLTGOT;" (assignment_expression "ppuStack_94 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "piVar15 = aiStack_a4 + 3;" (assignment_expression "piVar15 = aiStack_a4 + 3" identifier = (binary_expression "aiStack_a4 + 3" identifier + number_literal)) ;) (expression_statement "iVar17 = *(int *)(aiStack_70[0] + 0x14);" (assignment_expression "iVar17 = *(int *)(aiStack_70[0] + 0x14)" identifier = (pointer_expression "*(int *)(aiStack_70[0] + 0x14)" * (cast_expression "(int *)(aiStack_70[0] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_70[0] + 0x14)" ( (binary_expression "aiStack_70[0] + 0x14" (subscript_expression "aiStack_70[0]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "aiStack_8c[0] = iVar17;" (assignment_expression "aiStack_8c[0] = iVar17" (subscript_expression "aiStack_8c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piStack_3c = (int *)uVar7;" (assignment_expression "piStack_3c = (int *)uVar7" identifier = (cast_expression "(int *)uVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uStack_38 = uVar18;" (assignment_expression "uStack_38 = uVar18" identifier = identifier) ;) (expression_statement "uStack_30 = uVar16;" (assignment_expression "uStack_30 = uVar16" identifier = identifier) ;) (if_statement "if (iVar17 != 0) {\n    iStack_60 = 0;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    iStack_60 = 0x80000000;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    piVar15 = aiStack_a4 + 3;\n    piVar11 = *(int **)(aiStack_8c[1] + 0x3c);\n    if (piVar11 == (int *)0x0) {\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }\n    uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n    iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14);\n    if (iVar17 != 0) {\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }\n  }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n    iStack_60 = 0;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    iStack_60 = 0x80000000;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    piVar15 = aiStack_a4 + 3;\n    piVar11 = *(int **)(aiStack_8c[1] + 0x3c);\n    if (piVar11 == (int *)0x0) {\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }\n    uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n    iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14);\n    if (iVar17 != 0) {\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }\n  }" { (expression_statement "iStack_60 = 0;" (assignment_expression "iStack_60 = 0" identifier = number_literal) ;) (expression_statement "uStack_5c = 0x7ffffffe;" (assignment_expression "uStack_5c = 0x7ffffffe" identifier = number_literal) ;) (expression_statement "FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1]);" (call_expression "FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1])" identifier (argument_list "(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1])" ( identifier , number_literal , number_literal , (subscript_expression "aiStack_58[0]" identifier [ number_literal ]) , (subscript_expression "aiStack_58[1]" identifier [ number_literal ]) ))) ;) (expression_statement "iStack_60 = 0x80000000;" (assignment_expression "iStack_60 = 0x80000000" identifier = number_literal) ;) (expression_statement "uStack_5c = 0x7ffffffe;" (assignment_expression "uStack_5c = 0x7ffffffe" identifier = number_literal) ;) (expression_statement "FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1]);" (call_expression "FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1])" identifier (argument_list "(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1])" ( identifier , number_literal , number_literal , (subscript_expression "aiStack_58[0]" identifier [ number_literal ]) , (subscript_expression "aiStack_58[1]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar15 = aiStack_a4 + 3;" (assignment_expression "piVar15 = aiStack_a4 + 3" identifier = (binary_expression "aiStack_a4 + 3" identifier + number_literal)) ;) (expression_statement "piVar11 = *(int **)(aiStack_8c[1] + 0x3c);" (assignment_expression "piVar11 = *(int **)(aiStack_8c[1] + 0x3c)" identifier = (pointer_expression "*(int **)(aiStack_8c[1] + 0x3c)" * (cast_expression "(int **)(aiStack_8c[1] + 0x3c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(aiStack_8c[1] + 0x3c)" ( (binary_expression "aiStack_8c[1] + 0x3c" (subscript_expression "aiStack_8c[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (if_statement "if (piVar11 == (int *)0x0) {\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\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 "{\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }" { (expression_statement "piVar15 = aiStack_a4 + 3;" (assignment_expression "piVar15 = aiStack_a4 + 3" identifier = (binary_expression "aiStack_a4 + 3" identifier + number_literal)) ;) (if_statement "if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }" if (parenthesized_expression "(*(int *)(aiStack_8c[1] + 4) == 0)" ( (binary_expression "*(int *)(aiStack_8c[1] + 4) == 0" (pointer_expression "*(int *)(aiStack_8c[1] + 4)" * (cast_expression "(int *)(aiStack_8c[1] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_8c[1] + 4)" ( (binary_expression "aiStack_8c[1] + 4" (subscript_expression "aiStack_8c[1]" identifier [ number_literal ]) + number_literal) )))) == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }" else (compound_statement "{\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }" { (expression_statement "pcStack_90 = FUN_00109500;" (assignment_expression "pcStack_90 = FUN_00109500" identifier = identifier) ;) (expression_statement "puStack_84 = &DAT_005ea7c8;" (assignment_expression "puStack_84 = &DAT_005ea7c8" identifier = (pointer_expression "&DAT_005ea7c8" & identifier)) ;) (do_statement "do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);" do (compound_statement "{\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      }" { (while_statement "while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }" { (expression_statement "piVar2 = (int *)piVar11[1];" (assignment_expression "piVar2 = (int *)piVar11[1]" identifier = (cast_expression "(int *)piVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar17 = piVar2[1];" (assignment_expression "iVar17 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (if_statement "if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;" if (parenthesized_expression "((iVar17 != -1) && ((char)piVar2[3] == '\0'))" ( (binary_expression "(iVar17 != -1) && ((char)piVar2[3] == '\0')" (parenthesized_expression "(iVar17 != -1)" ( (binary_expression "iVar17 != -1" identifier != number_literal) )) && (parenthesized_expression "((char)piVar2[3] == '\0')" ( (binary_expression "(char)piVar2[3] == '\0'" (cast_expression "(char)piVar2[3]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar2[3]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (break_statement "break;" break ;)) (labeled_statement "LAB_001bc940:\n          piVar11 = (int *)*piVar11;" statement_identifier : (expression_statement "piVar11 = (int *)*piVar11;" (assignment_expression "piVar11 = (int *)*piVar11" identifier = (cast_expression "(int *)*piVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;)) (if_statement "if (piVar11 == (int *)0x0) goto LAB_001bcab0;" 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_001bcab0;" goto statement_identifier ;)) })) (expression_statement "iVar19 = *piVar2;" (assignment_expression "iVar19 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "piVar15[-3] = 0;" (assignment_expression "piVar15[-3] = 0" (subscript_expression "piVar15[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[-4] = iVar19;" (assignment_expression "piVar15[-4] = iVar19" (subscript_expression "piVar15[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[-5] = 0;" (assignment_expression "piVar15[-5] = 0" (subscript_expression "piVar15[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[-6] = iVar17;" (assignment_expression "piVar15[-6] = iVar17" (subscript_expression "piVar15[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[-7] = piVar2[2];" (assignment_expression "piVar15[-7] = piVar2[2]" (subscript_expression "piVar15[-7]" identifier [ number_literal ]) = (subscript_expression "piVar2[2]" identifier [ number_literal ])) ;) (expression_statement "piVar15[-8] = piVar15[3];" (assignment_expression "piVar15[-8] = piVar15[3]" (subscript_expression "piVar15[-8]" identifier [ number_literal ]) = (subscript_expression "piVar15[3]" identifier [ number_literal ])) ;) (expression_statement "piVar15[-9] = 0x1bc977;" (assignment_expression "piVar15[-9] = 0x1bc977" (subscript_expression "piVar15[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_002e2ea0();" (call_expression "FUN_002e2ea0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar17 = piVar2[1];" (assignment_expression "iVar17 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }" if (parenthesized_expression "(iVar17 == -1)" ( (binary_expression "iVar17 == -1" identifier == number_literal) )) (compound_statement "{\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }" { (expression_statement "piVar15[-2] = piVar15[1] + -0x170e10;" (assignment_expression "piVar15[-2] = piVar15[1] + -0x170e10" (subscript_expression "piVar15[-2]" identifier [ number_literal ]) = (binary_expression "piVar15[1] + -0x170e10" (subscript_expression "piVar15[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar15[-3] = 0x1f5;" (assignment_expression "piVar15[-3] = 0x1f5" (subscript_expression "piVar15[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[-4] = piVar15[1] + -0x178e16;" (assignment_expression "piVar15[-4] = piVar15[1] + -0x178e16" (subscript_expression "piVar15[-4]" identifier [ number_literal ]) = (binary_expression "piVar15[1] + -0x178e16" (subscript_expression "piVar15[1]" identifier [ number_literal ]) + number_literal)) ;) comment (expression_statement "piVar15[-5] = 0x1bcf98;" (assignment_expression "piVar15[-5] = 0x1bcf98" (subscript_expression "piVar15[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "piVar3 = (int *)piVar2[2];" (assignment_expression "piVar3 = (int *)piVar2[2]" identifier = (cast_expression "(int *)piVar2[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[2]" identifier [ number_literal ]))) ;) (expression_statement "iVar19 = *piVar2;" (assignment_expression "iVar19 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "pcVar4 = *(code **)(*piVar3 + 0xb0);" (assignment_expression "pcVar4 = *(code **)(*piVar3 + 0xb0)" identifier = (pointer_expression "*(code **)(*piVar3 + 0xb0)" * (cast_expression "(code **)(*piVar3 + 0xb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xb0)" ( (binary_expression "*piVar3 + 0xb0" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }" if (parenthesized_expression "(pcVar4 == (code *)piVar15[2])" ( (binary_expression "pcVar4 == (code *)piVar15[2]" identifier == (cast_expression "(code *)piVar15[2]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar15[2]" identifier [ number_literal ]))) )) (compound_statement "{\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }" { (expression_statement "piVar15[0xf] = iVar19;" (assignment_expression "piVar15[0xf] = iVar19" (subscript_expression "piVar15[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[0xe] = iVar17;" (assignment_expression "piVar15[0xe] = iVar17" (subscript_expression "piVar15[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[0x10] = 0;" (assignment_expression "piVar15[0x10] = 0" (subscript_expression "piVar15[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[-2] = (int)(piVar15 + 0xe);" (assignment_expression "piVar15[-2] = (int)(piVar15 + 0xe)" (subscript_expression "piVar15[-2]" identifier [ number_literal ]) = (cast_expression "(int)(piVar15 + 0xe)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar15 + 0xe)" ( (binary_expression "piVar15 + 0xe" identifier + number_literal) )))) ;) (expression_statement "piVar15[-3] = (int)(piVar3 + 0x1a);" (assignment_expression "piVar15[-3] = (int)(piVar3 + 0x1a)" (subscript_expression "piVar15[-3]" identifier [ number_literal ]) = (cast_expression "(int)(piVar3 + 0x1a)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar3 + 0x1a)" ( (binary_expression "piVar3 + 0x1a" identifier + number_literal) )))) ;) (expression_statement "piVar15[-4] = (int)(piVar15 + 0xb);" (assignment_expression "piVar15[-4] = (int)(piVar15 + 0xb)" (subscript_expression "piVar15[-4]" identifier [ number_literal ]) = (cast_expression "(int)(piVar15 + 0xb)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar15 + 0xb)" ( (binary_expression "piVar15 + 0xb" identifier + number_literal) )))) ;) (expression_statement "piVar15[-5] = 0x1bc9c1;" (assignment_expression "piVar15[-5] = 0x1bc9c1" (subscript_expression "piVar15[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00109250();" (call_expression "FUN_00109250()" identifier (argument_list "()" ( ))) ;) (if_statement "if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }" if (parenthesized_expression "(piVar15[10] == 0)" ( (binary_expression "piVar15[10] == 0" (subscript_expression "piVar15[10]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }" { (expression_statement "piVar15[-3] = *piVar15 + -0x16f81c;" (assignment_expression "piVar15[-3] = *piVar15 + -0x16f81c" (subscript_expression "piVar15[-3]" identifier [ number_literal ]) = (binary_expression "*piVar15 + -0x16f81c" (pointer_expression "*piVar15" * identifier) + number_literal)) ;) (expression_statement "piVar15[-4] = 0x83c;" (assignment_expression "piVar15[-4] = 0x83c" (subscript_expression "piVar15[-4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[-5] = *piVar15 + -0x19cc7b;" (assignment_expression "piVar15[-5] = *piVar15 + -0x19cc7b" (subscript_expression "piVar15[-5]" identifier [ number_literal ]) = (binary_expression "*piVar15 + -0x19cc7b" (pointer_expression "*piVar15" * identifier) + number_literal)) ;) comment (expression_statement "piVar15[-6] = 0x1bcf79;" (assignment_expression "piVar15[-6] = 0x1bcf79" (subscript_expression "piVar15[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "piVar3 = *(int **)(piVar15[10] + 0x10);" (assignment_expression "piVar3 = *(int **)(piVar15[10] + 0x10)" identifier = (pointer_expression "*(int **)(piVar15[10] + 0x10)" * (cast_expression "(int **)(piVar15[10] + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar15[10] + 0x10)" ( (binary_expression "piVar15[10] + 0x10" (subscript_expression "piVar15[10]" identifier [ number_literal ]) + number_literal) ))))) ;) (while_statement "while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }" { (if_statement "if (piVar3 == (int *)0x0) goto LAB_001bcf00;" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001bcf00;" goto statement_identifier ;)) (if_statement "if (*piVar3 == 0) break;" if (parenthesized_expression "(*piVar3 == 0)" ( (binary_expression "*piVar3 == 0" (pointer_expression "*piVar3" * identifier) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar3 = (int *)piVar3[2];" (assignment_expression "piVar3 = (int *)piVar3[2]" identifier = (cast_expression "(int *)piVar3[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[2]" identifier [ number_literal ]))) ;) })) (expression_statement "iVar17 = piVar3[1];" (assignment_expression "iVar17 = piVar3[1]" identifier = (subscript_expression "piVar3[1]" identifier [ number_literal ])) ;) (expression_statement "piVar3 = piVar15 + -1;" (assignment_expression "piVar3 = piVar15 + -1" identifier = (binary_expression "piVar15 + -1" identifier + number_literal)) ;) (if_statement "if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }" if (parenthesized_expression "(iVar17 == -1)" ( (binary_expression "iVar17 == -1" identifier == number_literal) )) (compound_statement "{\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }" { (labeled_statement "LAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;" statement_identifier : (expression_statement "piVar15[-3] = *piVar15 + -0x16f81c;" (assignment_expression "piVar15[-3] = *piVar15 + -0x16f81c" (subscript_expression "piVar15[-3]" identifier [ number_literal ]) = (binary_expression "*piVar15 + -0x16f81c" (pointer_expression "*piVar15" * identifier) + number_literal)) ;)) (expression_statement "piVar15[-4] = 0x83e;" (assignment_expression "piVar15[-4] = 0x83e" (subscript_expression "piVar15[-4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[-5] = *piVar15 + -0x19cc7b;" (assignment_expression "piVar15[-5] = *piVar15 + -0x19cc7b" (subscript_expression "piVar15[-5]" identifier [ number_literal ]) = (binary_expression "*piVar15 + -0x19cc7b" (pointer_expression "*piVar15" * identifier) + number_literal)) ;) comment (expression_statement "piVar15[-6] = 0x1bcf1f;" (assignment_expression "piVar15[-6] = 0x1bcf1f" (subscript_expression "piVar15[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }" else (compound_statement "{\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }" { (expression_statement "piVar15[-4] = 0;" (assignment_expression "piVar15[-4] = 0" (subscript_expression "piVar15[-4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[-5] = iVar19;" (assignment_expression "piVar15[-5] = iVar19" (subscript_expression "piVar15[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[-6] = 0;" (assignment_expression "piVar15[-6] = 0" (subscript_expression "piVar15[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[-7] = iVar17;" (assignment_expression "piVar15[-7] = iVar17" (subscript_expression "piVar15[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[-8] = (int)piVar3;" (assignment_expression "piVar15[-8] = (int)piVar3" (subscript_expression "piVar15[-8]" identifier [ number_literal ]) = (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar15[-9] = 0x1bcd33;" (assignment_expression "piVar15[-9] = 0x1bcd33" (subscript_expression "piVar15[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar17 = (*pcVar4)();" (assignment_expression "iVar17 = (*pcVar4)()" identifier = (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "piVar3 = piVar15;" (assignment_expression "piVar3 = piVar15" identifier = identifier) ;) }))) (expression_statement "piVar15 = piVar3;" (assignment_expression "piVar15 = piVar3" identifier = identifier) ;) (if_statement "if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;" if (parenthesized_expression "((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0))" ( (binary_expression "(*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)" (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0)" ( (binary_expression "*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0xc) + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0xc) + 0x80)" ( (binary_expression "*(int *)((int)piVar15 + 0xc) + 0x80" (pointer_expression "*(int *)((int)piVar15 + 0xc)" * (cast_expression "(int *)((int)piVar15 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0xc)" ( (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)" ( (binary_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x94)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x94" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_001bc940;" goto statement_identifier ;)) (expression_statement "iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);" (assignment_expression "iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8)" identifier = (pointer_expression "*(int *)(**(int **)((int)piVar15 + 0x14) + 8)" * (cast_expression "(int *)(**(int **)((int)piVar15 + 0x14) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)((int)piVar15 + 0x14) + 8)" ( (binary_expression "**(int **)((int)piVar15 + 0x14) + 8" (pointer_expression "**(int **)((int)piVar15 + 0x14)" * (pointer_expression "*(int **)((int)piVar15 + 0x14)" * (cast_expression "(int **)((int)piVar15 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + 0x14)" ( (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) + number_literal) ))))) ;) (if_statement "if (iVar19 == 0) goto LAB_001bcf3e;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001bcf3e;" goto statement_identifier ;)) (if_statement "if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;" if (parenthesized_expression "((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))" ( (binary_expression "(*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0')" (parenthesized_expression "(*(char *)(iVar19 + 0x1a25) == '\0')" ( (binary_expression "*(char *)(iVar19 + 0x1a25) == '\0'" (pointer_expression "*(char *)(iVar19 + 0x1a25)" * (cast_expression "(char *)(iVar19 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1a25)" ( (binary_expression "iVar19 + 0x1a25" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(iVar19 + 0x2931) == '\0')" ( (binary_expression "*(char *)(iVar19 + 0x2931) == '\0'" (pointer_expression "*(char *)(iVar19 + 0x2931)" * (cast_expression "(char *)(iVar19 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2931)" ( (binary_expression "iVar19 + 0x2931" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_001bc940;" goto statement_identifier ;)) (if_statement "if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }" if (parenthesized_expression "(*(char *)((int)piVar2 + 0xd) == '\0')" ( (binary_expression "*(char *)((int)piVar2 + 0xd) == '\0'" (pointer_expression "*(char *)((int)piVar2 + 0xd)" * (cast_expression "(char *)((int)piVar2 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0xd)" ( (binary_expression "(int)piVar2 + 0xd" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }" { (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bca62;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bca62" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" * (cast_expression "(undefined4 *)((int)piVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_001950e0();" (assignment_expression "uVar8 = FUN_001950e0()" identifier = (call_expression "FUN_001950e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar19 = piVar2[1];" (assignment_expression "iVar19 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }" if (parenthesized_expression "(iVar19 == -1)" ( (binary_expression "iVar19 == -1" identifier == number_literal) )) (compound_statement "{\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }" { (labeled_statement "LAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;" statement_identifier : (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" * (cast_expression "(undefined4 *)((int)piVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_001756d0();" (call_expression "FUN_001756d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);" (assignment_expression "uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1])" identifier = (call_expression "CONCAT44(aiStack_70[0],aiStack_8c[1])" identifier (argument_list "(aiStack_70[0],aiStack_8c[1])" ( (subscript_expression "aiStack_70[0]" identifier [ number_literal ]) , (subscript_expression "aiStack_8c[1]" identifier [ number_literal ]) )))) ;) (goto_statement "goto LAB_001bcf9d;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }" else (compound_statement "{\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }" { (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bcd45" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" * (cast_expression "(undefined4 *)((int)piVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_001950e0();" (assignment_expression "uVar8 = FUN_001950e0()" identifier = (call_expression "FUN_001950e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar19 = piVar2[1];" (assignment_expression "iVar19 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar19 == -1) goto LAB_001bcf98;" if (parenthesized_expression "(iVar19 == -1)" ( (binary_expression "iVar19 == -1" identifier == number_literal) )) (goto_statement "goto LAB_001bcf98;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 1;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 1" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }))) (expression_statement "*(undefined4 *)((int)piVar15 + -0x18) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x18) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x18)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x18)" ( (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar15 + -0x1c) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0x1c) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0x1c)" * (cast_expression "(int *)((int)piVar15 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x1c)" ( (binary_expression "(int)piVar15 + -0x1c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x20)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x20)" ( (binary_expression "(int)piVar15 + -0x20" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0xc)" ( (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x24) = 3;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x24) = 3" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x24)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x24)" ( (binary_expression "(int)piVar15 + -0x24" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar15 + -0x28) = iVar19;" (assignment_expression "*(int *)((int)piVar15 + -0x28) = iVar19" (pointer_expression "*(int *)((int)piVar15 + -0x28)" * (cast_expression "(int *)((int)piVar15 + -0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x28)" ( (binary_expression "(int)piVar15 + -0x28" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar15 + -0x2c) = piVar2[2];" (assignment_expression "*(int *)((int)piVar15 + -0x2c) = piVar2[2]" (pointer_expression "*(int *)((int)piVar15 + -0x2c)" * (cast_expression "(int *)((int)piVar15 + -0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x2c)" ( (binary_expression "(int)piVar15 + -0x2c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "piVar2[2]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -0x30)" * (cast_expression "(undefined1 **)((int)piVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -0x30)" ( (binary_expression "(int)piVar15 + -0x30" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x34)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x34)" ( (binary_expression "(int)piVar15 + -0x34" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002d6220();" (call_expression "FUN_002d6220()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -8)" * (cast_expression "(undefined1 **)((int)piVar15 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0xc)" ( (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072fa0();" (call_expression "FUN_00072fa0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar11 = (int *)*piVar11;" (assignment_expression "piVar11 = (int *)*piVar11" identifier = (cast_expression "(int *)*piVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) }) while (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)) )) ;) (labeled_statement "LAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;" statement_identifier : (if_statement "if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;" if (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0)" ( (binary_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 4)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 4)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 4" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_001bcd72;" goto statement_identifier ;))) }))) (expression_statement "uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);" (assignment_expression "uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1])" identifier = (call_expression "CONCAT44(aiStack_70[0],aiStack_8c[1])" identifier (argument_list "(aiStack_70[0],aiStack_8c[1])" ( (subscript_expression "aiStack_70[0]" identifier [ number_literal ]) , (subscript_expression "aiStack_8c[1]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14);" (assignment_expression "iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14)" identifier = (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x28) + 0x14)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0x28) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x28) + 0x14)" ( (binary_expression "*(int *)((int)piVar15 + 0x28) + 0x14" (pointer_expression "*(int *)((int)piVar15 + 0x28)" * (cast_expression "(int *)((int)piVar15 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x28)" ( (binary_expression "(int)piVar15 + 0x28" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar17 != 0) {\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }" { (expression_statement "*(undefined4 *)((int)piVar15 + 0x38) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + 0x38) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + 0x38)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;" (assignment_expression "*(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe" (pointer_expression "*(undefined4 *)((int)piVar15 + 0x3c)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x3c)" ( (binary_expression "(int)piVar15 + 0x3c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x44)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x44)" ( (binary_expression "(int)piVar15 + 0x44" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x40)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x40)" ( (binary_expression "(int)piVar15 + 0x40" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x18)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x18)" ( (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x1c) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x1c)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x1c)" ( (binary_expression "(int)piVar15 + -0x1c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar15 + -0x20) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0x20) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0x20)" * (cast_expression "(int *)((int)piVar15 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x20)" ( (binary_expression "(int)piVar15 + -0x20" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar19 = *(int *)((int)piVar15 + 4);" (assignment_expression "iVar19 = *(int *)((int)piVar15 + 4)" identifier = (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x24)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x24)" ( (binary_expression "(int)piVar15 + -0x24" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar9 = FUN_002e2810();" (assignment_expression "iVar9 = FUN_002e2810()" identifier = (call_expression "FUN_002e2810()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar10 = *(int *)(iVar17 + 0x80);" (assignment_expression "iVar10 = *(int *)(iVar17 + 0x80)" identifier = (pointer_expression "*(int *)(iVar17 + 0x80)" * (cast_expression "(int *)(iVar17 + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x80)" ( (binary_expression "iVar17 + 0x80" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)((int)piVar15 + 0x10);" (assignment_expression "iVar13 = *(int *)((int)piVar15 + 0x10)" identifier = (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(int *)(iVar13 + 0x6c) = iVar9;" (assignment_expression "*(int *)(iVar13 + 0x6c) = iVar9" (pointer_expression "*(int *)(iVar13 + 0x6c)" * (cast_expression "(int *)(iVar13 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x6c)" ( (binary_expression "iVar13 + 0x6c" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }" if (parenthesized_expression "((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0))" ( (binary_expression "(iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)" (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(iVar13 + 0x94) != 0)" ( (binary_expression "*(int *)(iVar13 + 0x94) != 0" (pointer_expression "*(int *)(iVar13 + 0x94)" * (cast_expression "(int *)(iVar13 + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x94)" ( (binary_expression "iVar13 + 0x94" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }" { (expression_statement "iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);" (assignment_expression "iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8)" identifier = (pointer_expression "*(int *)(*(int *)(iVar19 + 0x7c8) + 8)" * (cast_expression "(int *)(*(int *)(iVar19 + 0x7c8) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar19 + 0x7c8) + 8)" ( (binary_expression "*(int *)(iVar19 + 0x7c8) + 8" (pointer_expression "*(int *)(iVar19 + 0x7c8)" * (cast_expression "(int *)(iVar19 + 0x7c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x7c8)" ( (binary_expression "iVar19 + 0x7c8" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }" { (labeled_statement "LAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;" statement_identifier : (expression_statement "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;" (assignment_expression "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8" (pointer_expression "*(int *)((int)piVar15 + -8)" * (cast_expression "(int *)((int)piVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + -0x16f3a8" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;" (assignment_expression "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93" (pointer_expression "*(int *)((int)piVar15 + -0x10)" * (cast_expression "(int *)((int)piVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + -0x1a1d93" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }" if (parenthesized_expression "((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0'))" ( (binary_expression "(*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')" (parenthesized_expression "(*(char *)(iVar19 + 0x1a25) != '\0')" ( (binary_expression "*(char *)(iVar19 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar19 + 0x1a25)" * (cast_expression "(char *)(iVar19 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1a25)" ( (binary_expression "iVar19 + 0x1a25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)(iVar19 + 0x2931) != '\0')" ( (binary_expression "*(char *)(iVar19 + 0x2931) != '\0'" (pointer_expression "*(char *)(iVar19 + 0x2931)" * (cast_expression "(char *)(iVar19 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2931)" ( (binary_expression "iVar19 + 0x2931" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }" { (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" * (cast_expression "(undefined4 *)((int)piVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_001950e0();" (assignment_expression "uVar8 = FUN_001950e0()" identifier = (call_expression "FUN_001950e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" * (cast_expression "(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x6c)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x6c" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)((int)piVar15 + -0x18) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0x18) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0x18)" * (cast_expression "(int *)((int)piVar15 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x18)" ( (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x1c) = 3;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x1c) = 3" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x1c)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x1c)" ( (binary_expression "(int)piVar15 + -0x1c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -0x20)" * (cast_expression "(undefined1 **)((int)piVar15 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -0x20)" ( (binary_expression "(int)piVar15 + -0x20" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x24)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x24)" ( (binary_expression "(int)piVar15 + -0x24" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002d5740();" (call_expression "FUN_002d5740()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -8)" * (cast_expression "(undefined1 **)((int)piVar15 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int *)((int)piVar15 + -0xc) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0xc) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0xc)" * (cast_expression "(int *)((int)piVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072fa0();" (call_expression "FUN_00072fa0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);" (assignment_expression "iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" identifier = (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x6c)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x6c" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;) })) })) (expression_statement "iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);" (assignment_expression "iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4)" identifier = (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 4)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 4)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 4" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;" (assignment_expression "*(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8" (pointer_expression "*(int *)((int)piVar15 + 0x20)" * (cast_expression "(int *)((int)piVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x20)" ( (binary_expression "(int)piVar15 + 0x20" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + 0x7c8" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;" (assignment_expression "*(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24" (pointer_expression "*(int *)((int)piVar15 + 0x24)" * (cast_expression "(int *)((int)piVar15 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x24)" ( (binary_expression "(int)piVar15 + 0x24" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 0x28) + 0x24" (pointer_expression "*(int *)((int)piVar15 + 0x28)" * (cast_expression "(int *)((int)piVar15 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x28)" ( (binary_expression "(int)piVar15 + 0x28" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (while_statement "while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }" while (parenthesized_expression "(iVar19 = iVar19 + -1, 0 < iVar19)" ( (comma_expression "iVar19 = iVar19 + -1, 0 < iVar19" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) , (binary_expression "0 < iVar19" number_literal < identifier)) )) (compound_statement "{\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }" { (expression_statement "*(undefined4 *)((int)piVar15 + 0x38) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + 0x38) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + 0x38)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;" (assignment_expression "*(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe" (pointer_expression "*(undefined4 *)((int)piVar15 + 0x3c)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x3c)" ( (binary_expression "(int)piVar15 + 0x3c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x44)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x44)" ( (binary_expression "(int)piVar15 + 0x44" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x40)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x40)" ( (binary_expression "(int)piVar15 + 0x40" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x18)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x18)" ( (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x1c) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x1c)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x1c)" ( (binary_expression "(int)piVar15 + -0x1c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar15 + -0x20) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0x20) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0x20)" * (cast_expression "(int *)((int)piVar15 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x20)" ( (binary_expression "(int)piVar15 + -0x20" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x24)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x24)" ( (binary_expression "(int)piVar15 + -0x24" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_002e2810();" (assignment_expression "uVar8 = FUN_002e2810()" identifier = (call_expression "FUN_002e2810()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + 8) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + 8) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + 8)" * (cast_expression "(undefined4 *)((int)piVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 8)" ( (binary_expression "(int)piVar15 + 8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }" if (parenthesized_expression "((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))" ( (binary_expression "(*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)" (parenthesized_expression "(*(int *)(iVar17 + 0x80) != 0)" ( (binary_expression "*(int *)(iVar17 + 0x80) != 0" (pointer_expression "*(int *)(iVar17 + 0x80)" * (cast_expression "(int *)(iVar17 + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x80)" ( (binary_expression "iVar17 + 0x80" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)" ( (binary_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x94)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x94" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }" { (expression_statement "iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);" (assignment_expression "iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8)" identifier = (pointer_expression "*(int *)(**(int **)((int)piVar15 + 0x20) + 8)" * (cast_expression "(int *)(**(int **)((int)piVar15 + 0x20) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)((int)piVar15 + 0x20) + 8)" ( (binary_expression "**(int **)((int)piVar15 + 0x20) + 8" (pointer_expression "**(int **)((int)piVar15 + 0x20)" * (pointer_expression "*(int **)((int)piVar15 + 0x20)" * (cast_expression "(int **)((int)piVar15 + 0x20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + 0x20)" ( (binary_expression "(int)piVar15 + 0x20" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) + number_literal) ))))) ;) (if_statement "if (iVar10 == 0) goto LAB_001bcf3e;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001bcf3e;" goto statement_identifier ;)) (if_statement "if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }" if (parenthesized_expression "((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0'))" ( (binary_expression "(*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')" (parenthesized_expression "(*(char *)(iVar10 + 0x1a25) != '\0')" ( (binary_expression "*(char *)(iVar10 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar10 + 0x1a25)" * (cast_expression "(char *)(iVar10 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1a25)" ( (binary_expression "iVar10 + 0x1a25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)(iVar10 + 0x2931) != '\0')" ( (binary_expression "*(char *)(iVar10 + 0x2931) != '\0'" (pointer_expression "*(char *)(iVar10 + 0x2931)" * (cast_expression "(char *)(iVar10 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x2931)" ( (binary_expression "iVar10 + 0x2931" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }" { (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bccc9" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" * (cast_expression "(undefined4 *)((int)piVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_001950e0();" (assignment_expression "uVar8 = FUN_001950e0()" identifier = (call_expression "FUN_001950e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + 0x18) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + 0x18) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + 0x18)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x18)" ( (binary_expression "(int)piVar15 + 0x18" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 8)" * (cast_expression "(undefined4 *)((int)piVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 8)" ( (binary_expression "(int)piVar15 + 8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(int *)((int)piVar15 + -0x18) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0x18) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0x18)" * (cast_expression "(int *)((int)piVar15 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x18)" ( (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x1c) = 3;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x1c) = 3" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x1c)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x1c)" ( (binary_expression "(int)piVar15 + -0x1c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -0x20)" * (cast_expression "(undefined1 **)((int)piVar15 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -0x20)" ( (binary_expression "(int)piVar15 + -0x20" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + 0x14)" * (cast_expression "(undefined1 **)((int)piVar15 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + 0x14)" ( (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x24)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x24)" ( (binary_expression "(int)piVar15 + -0x24" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002d5740();" (call_expression "FUN_002d5740()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar10 = *(int *)((int)piVar15 + 0x18);" (assignment_expression "iVar10 = *(int *)((int)piVar15 + 0x18)" identifier = (pointer_expression "*(int *)((int)piVar15 + 0x18)" * (cast_expression "(int *)((int)piVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x18)" ( (binary_expression "(int)piVar15 + 0x18" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar5 = *(undefined4 **)(iVar10 + 0x38);" (assignment_expression "puVar5 = *(undefined4 **)(iVar10 + 0x38)" identifier = (pointer_expression "*(undefined4 **)(iVar10 + 0x38)" * (cast_expression "(undefined4 **)(iVar10 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x38)" ( (binary_expression "iVar10 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }" if (parenthesized_expression "(puVar5 == *(undefined4 **)(iVar10 + 0x3c))" ( (binary_expression "puVar5 == *(undefined4 **)(iVar10 + 0x3c)" identifier == (pointer_expression "*(undefined4 **)(iVar10 + 0x3c)" * (cast_expression "(undefined4 **)(iVar10 + 0x3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x3c)" ( (binary_expression "iVar10 + 0x3c" identifier + number_literal) ))))) )) (compound_statement "{\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }" { (expression_statement "*(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);" (assignment_expression "*(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14)" (pointer_expression "*(undefined4 *)((int)piVar15 + -8)" * (cast_expression "(undefined4 *)((int)piVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x14)" ( (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 **)((int)piVar15 + -0xc) = puVar5;" (assignment_expression "*(undefined4 **)((int)piVar15 + -0xc) = puVar5" (pointer_expression "*(undefined4 **)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 **)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar15 + 0x14) = iVar10;" (assignment_expression "*(int *)((int)piVar15 + 0x14) = iVar10" (pointer_expression "*(int *)((int)piVar15 + 0x14)" * (cast_expression "(int *)((int)piVar15 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x14)" ( (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;" (assignment_expression "*(int *)((int)piVar15 + -0x10) = iVar10 + 0x34" (pointer_expression "*(int *)((int)piVar15 + -0x10)" * (cast_expression "(int *)((int)piVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar10 + 0x34" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072dc0();" (call_expression "FUN_00072dc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar10 = *(int *)((int)piVar15 + 0x14);" (assignment_expression "iVar10 = *(int *)((int)piVar15 + 0x14)" identifier = (pointer_expression "*(int *)((int)piVar15 + 0x14)" * (cast_expression "(int *)((int)piVar15 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x14)" ( (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar12 = *(undefined4 **)(iVar10 + 0x38);" (assignment_expression "puVar12 = *(undefined4 **)(iVar10 + 0x38)" identifier = (pointer_expression "*(undefined4 **)(iVar10 + 0x38)" * (cast_expression "(undefined4 **)(iVar10 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x38)" ( (binary_expression "iVar10 + 0x38" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }" else (compound_statement "{\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }" { (expression_statement "puVar12 = puVar5 + 6;" (assignment_expression "puVar12 = puVar5 + 6" identifier = (binary_expression "puVar5 + 6" identifier + number_literal)) ;) (expression_statement "*puVar5 = *(undefined4 *)((int)piVar15 + 0x38);" (assignment_expression "*puVar5 = *(undefined4 *)((int)piVar15 + 0x38)" (pointer_expression "*puVar5" * identifier) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x38)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);" (assignment_expression "puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c)" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x3c)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x3c)" ( (binary_expression "(int)piVar15 + 0x3c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);" (assignment_expression "puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40)" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x40)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x40)" ( (binary_expression "(int)piVar15 + 0x40" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);" (assignment_expression "puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44)" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x44)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x44)" ( (binary_expression "(int)piVar15 + 0x44" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);" (assignment_expression "puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48)" (subscript_expression "puVar5[4]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x48)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x48)" ( (binary_expression "(int)piVar15 + 0x48" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);" (assignment_expression "puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c)" (subscript_expression "puVar5[5]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x4c)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x4c)" ( (binary_expression "(int)piVar15 + 0x4c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 **)(iVar10 + 0x38) = puVar12;" (assignment_expression "*(undefined4 **)(iVar10 + 0x38) = puVar12" (pointer_expression "*(undefined4 **)(iVar10 + 0x38)" * (cast_expression "(undefined4 **)(iVar10 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x38)" ( (binary_expression "iVar10 + 0x38" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;" (assignment_expression "iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3" identifier = (binary_expression "(int)puVar12 - *(int *)(iVar10 + 0x34) >> 3" (binary_expression "(int)puVar12 - *(int *)(iVar10 + 0x34)" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(iVar10 + 0x34)" * (cast_expression "(int *)(iVar10 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x34)" ( (binary_expression "iVar10 + 0x34" identifier + number_literal) ))))) >> number_literal)) ;) (if_statement "if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;" if (parenthesized_expression "((*(byte *)(iVar10 + 0x1c) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar10 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar10 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar10 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar10 + 0x1c)" * (cast_expression "(byte *)(iVar10 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001bcfa2;" goto statement_identifier ;)) (expression_statement "*(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;" (assignment_expression "*(int *)(iVar10 + 0xc) = iVar13 * 0x55555558" (pointer_expression "*(int *)(iVar10 + 0xc)" * (cast_expression "(int *)(iVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xc)" ( (binary_expression "iVar10 + 0xc" identifier + number_literal) )))) = (binary_expression "iVar13 * 0x55555558" identifier * number_literal)) ;) (expression_statement "*(undefined4 *)(iVar10 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar10 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar10 + 0x10)" * (cast_expression "(undefined4 *)(iVar10 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x10)" ( (binary_expression "iVar10 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;" (assignment_expression "*(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10" (pointer_expression "*(byte *)(iVar17 + 0x1c)" * (cast_expression "(byte *)(iVar17 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x1c)" ( (binary_expression "iVar17 + 0x1c" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar17 + 0x1c) | 0x10" (pointer_expression "*(byte *)(iVar17 + 0x1c)" * (cast_expression "(byte *)(iVar17 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x1c)" ( (binary_expression "iVar17 + 0x1c" identifier + number_literal) )))) | number_literal)) ;) (if_statement "if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }" if (parenthesized_expression "((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0)" ( (binary_expression "(*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)piVar15 + 0x4b) & 0x10)" ( (binary_expression "*(byte *)((int)piVar15 + 0x4b) & 0x10" (pointer_expression "*(byte *)((int)piVar15 + 0x4b)" * (cast_expression "(byte *)((int)piVar15 + 0x4b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x4b)" ( (binary_expression "(int)piVar15 + 0x4b" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }" { (expression_statement "*(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;" (assignment_expression "*(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1" (pointer_expression "*(int *)(iVar10 + 0x2c)" * (cast_expression "(int *)(iVar10 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x2c)" ( (binary_expression "iVar10 + 0x2c" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar10 + 0x2c) + 1" (pointer_expression "*(int *)(iVar10 + 0x2c)" * (cast_expression "(int *)(iVar10 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x2c)" ( (binary_expression "iVar10 + 0x2c" identifier + number_literal) )))) + number_literal)) ;) })) (expression_statement "iVar10 = *(int *)((int)piVar15 + 0x3c);" (assignment_expression "iVar10 = *(int *)((int)piVar15 + 0x3c)" identifier = (pointer_expression "*(int *)((int)piVar15 + 0x3c)" * (cast_expression "(int *)((int)piVar15 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x3c)" ( (binary_expression "(int)piVar15 + 0x3c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }" if (parenthesized_expression "((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0))" ( (binary_expression "(*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)" (parenthesized_expression "(*(int *)((int)piVar15 + 0x4c) != -4)" ( (binary_expression "*(int *)((int)piVar15 + 0x4c) != -4" (pointer_expression "*(int *)((int)piVar15 + 0x4c)" * (cast_expression "(int *)((int)piVar15 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x4c)" ( (binary_expression "(int)piVar15 + 0x4c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) && (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) ))) )) (compound_statement "{\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }" { (if_statement "if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }" if (parenthesized_expression "(*(int *)(iVar10 + 100) == 0)" ( (binary_expression "*(int *)(iVar10 + 100) == 0" (pointer_expression "*(int *)(iVar10 + 100)" * (cast_expression "(int *)(iVar10 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 100)" ( (binary_expression "iVar10 + 100" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }" { (expression_statement "*(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;" (assignment_expression "*(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1" (pointer_expression "*(int *)(iVar10 + 0x60)" * (cast_expression "(int *)(iVar10 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x60)" ( (binary_expression "iVar10 + 0x60" identifier + number_literal) )))) = (binary_expression "iVar13 * -0x55555555 + -1" (binary_expression "iVar13 * -0x55555555" identifier * number_literal) + number_literal)) ;) })) (expression_statement "*(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;" (assignment_expression "*(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1" (pointer_expression "*(int *)(iVar10 + 100)" * (cast_expression "(int *)(iVar10 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 100)" ( (binary_expression "iVar10 + 100" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar10 + 100) + 1" (pointer_expression "*(int *)(iVar10 + 100)" * (cast_expression "(int *)(iVar10 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 100)" ( (binary_expression "iVar10 + 100" identifier + number_literal) )))) + number_literal)) ;) })) })) })) (expression_statement "iVar10 = iVar9 + 4;" (assignment_expression "iVar10 = iVar9 + 4" identifier = (binary_expression "iVar9 + 4" identifier + number_literal)) ;) (expression_statement "iVar9 = *(int *)((int)piVar15 + 8);" (assignment_expression "iVar9 = *(int *)((int)piVar15 + 8)" identifier = (pointer_expression "*(int *)((int)piVar15 + 8)" * (cast_expression "(int *)((int)piVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 8)" ( (binary_expression "(int)piVar15 + 8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }" if (parenthesized_expression "(iVar9 != iVar10)" ( (binary_expression "iVar9 != iVar10" identifier != identifier) )) (compound_statement "{\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }" { (expression_statement "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;" (assignment_expression "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24" (pointer_expression "*(int *)((int)piVar15 + -8)" * (cast_expression "(int *)((int)piVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + -0x170e24" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0x1739;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0x1739" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;" (assignment_expression "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16" (pointer_expression "*(int *)((int)piVar15 + -0x10)" * (cast_expression "(int *)((int)piVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + -0x178e16" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "*(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);" (assignment_expression "*(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" (pointer_expression "*(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70)" * (cast_expression "(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x70)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x70" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" * (cast_expression "(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x6c)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x6c" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "LAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);" statement_identifier : (expression_statement "puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);" (assignment_expression "puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c)" identifier = (pointer_expression "*(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c)" * (cast_expression "(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x3c)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x3c" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;)) (expression_statement "*(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;" (assignment_expression "*(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8" (pointer_expression "*(int *)((int)piVar15 + 0x14)" * (cast_expression "(int *)((int)piVar15 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x14)" ( (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + 0x7c8" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (do_statement "do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );" do (compound_statement "{\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      }" { (if_statement "if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }" if (parenthesized_expression "(puVar5 == (undefined4 *)0x0)" ( (binary_expression "puVar5 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "iVar17 = puVar5[1];" (assignment_expression "iVar17 = puVar5[1]" identifier = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (if_statement "if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }" if (parenthesized_expression "(((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0'))" ( (binary_expression "((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')" (parenthesized_expression "((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2))" ( (binary_expression "(*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)" (parenthesized_expression "(*(int *)(iVar17 + 4) == -1)" ( (binary_expression "*(int *)(iVar17 + 4) == -1" (pointer_expression "*(int *)(iVar17 + 4)" * (cast_expression "(int *)(iVar17 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 4)" ( (binary_expression "iVar17 + 4" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)" ( (comma_expression "iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2" (assignment_expression "iVar19 = *(int *)(iVar17 + 8)" identifier = (pointer_expression "*(int *)(iVar17 + 8)" * (cast_expression "(int *)(iVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 8)" ( (binary_expression "iVar17 + 8" identifier + number_literal) ))))) , (binary_expression "*(int *)(iVar19 + 0x4c) == 2" (pointer_expression "*(int *)(iVar19 + 0x4c)" * (cast_expression "(int *)(iVar19 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x4c)" ( (binary_expression "iVar19 + 0x4c" identifier + number_literal) )))) == number_literal)) ))) )) && (parenthesized_expression "(*(char *)(iVar17 + 0xc) == '\0')" ( (binary_expression "*(char *)(iVar17 + 0xc) == '\0'" (pointer_expression "*(char *)(iVar17 + 0xc)" * (cast_expression "(char *)(iVar17 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0xc)" ( (binary_expression "iVar17 + 0xc" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }" { (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }" if (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0)" ( (binary_expression "*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0xc) + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0xc) + 0x80)" ( (binary_expression "*(int *)((int)piVar15 + 0xc) + 0x80" (pointer_expression "*(int *)((int)piVar15 + 0xc)" * (cast_expression "(int *)((int)piVar15 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0xc)" ( (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }" { (expression_statement "iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);" (assignment_expression "iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" identifier = (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x94)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x94" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)((int)piVar15 + 8) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + 8) = iVar17" (pointer_expression "*(int *)((int)piVar15 + 8)" * (cast_expression "(int *)((int)piVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 8)" ( (binary_expression "(int)piVar15 + 8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar17 = iVar17 + 3;" (assignment_expression "iVar17 = iVar17 + 3" identifier = (binary_expression "iVar17 + 3" identifier + number_literal)) ;) })) (expression_statement "*(int *)((int)piVar15 + -8) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -8) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -8)" * (cast_expression "(int *)((int)piVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar15 + -0xc) = iVar19;" (assignment_expression "*(int *)((int)piVar15 + -0xc) = iVar19" (pointer_expression "*(int *)((int)piVar15 + -0xc)" * (cast_expression "(int *)((int)piVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0xc)" ( (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar8 = *(undefined4 *)((int)piVar15 + 4);" (assignment_expression "uVar8 = *(undefined4 *)((int)piVar15 + 4)" identifier = (pointer_expression "*(undefined4 *)((int)piVar15 + 4)" * (cast_expression "(undefined4 *)((int)piVar15 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "cVar6 = FUN_002e2990();" (assignment_expression "cVar6 = FUN_002e2990()" identifier = (call_expression "FUN_002e2990()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }" { (expression_statement "piVar11 = (int *)(iVar19 + 0x1c);" (assignment_expression "piVar11 = (int *)(iVar19 + 0x1c)" identifier = (cast_expression "(int *)(iVar19 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1c)" ( (binary_expression "iVar19 + 0x1c" identifier + number_literal) )))) ;) (while_statement "while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }" while (parenthesized_expression "(iVar17 != *piVar11)" ( (binary_expression "iVar17 != *piVar11" identifier != (pointer_expression "*piVar11" * identifier)) )) (compound_statement "{\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }" { (expression_statement "piVar11 = (int *)piVar11[2];" (assignment_expression "piVar11 = (int *)piVar11[2]" identifier = (cast_expression "(int *)piVar11[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[2]" identifier [ number_literal ]))) ;) (if_statement "if (piVar11 == (int *)0x0) goto LAB_001bcdfb;" 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_001bcdfb;" goto statement_identifier ;)) })) (expression_statement "uVar7 = piVar11[1];" (assignment_expression "uVar7 = piVar11[1]" identifier = (subscript_expression "piVar11[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }" if (parenthesized_expression "(uVar7 == 0xffffffff)" ( (binary_expression "uVar7 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }" { (labeled_statement "LAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;" statement_identifier : (expression_statement "*(undefined4 *)((int)piVar15 + -4) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" * (cast_expression "(undefined4 *)((int)piVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;" (assignment_expression "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0" (pointer_expression "*(int *)((int)piVar15 + -8)" * (cast_expression "(int *)((int)piVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + -0x16f7e0" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0x1b7" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;" (assignment_expression "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20" (pointer_expression "*(int *)((int)piVar15 + -0x10)" * (cast_expression "(int *)((int)piVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + -0x19cc20" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) comment (expression_statement "*(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;" (assignment_expression "*(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18" (pointer_expression "*(undefined **)((int)piVar15 + -0x14)" * (cast_expression "(undefined **)((int)piVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_001bce18" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }" if (parenthesized_expression "((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff))" ( (binary_expression "(uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)" (parenthesized_expression "(uVar7 < *(uint *)(iVar19 + 0x50))" ( (binary_expression "uVar7 < *(uint *)(iVar19 + 0x50)" identifier < (pointer_expression "*(uint *)(iVar19 + 0x50)" * (cast_expression "(uint *)(iVar19 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x50)" ( (binary_expression "iVar19 + 0x50" identifier + number_literal) ))))) )) || (parenthesized_expression "(*(uint *)(iVar19 + 0x50) == 0xffffffff)" ( (binary_expression "*(uint *)(iVar19 + 0x50) == 0xffffffff" (pointer_expression "*(uint *)(iVar19 + 0x50)" * (cast_expression "(uint *)(iVar19 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x50)" ( (binary_expression "iVar19 + 0x50" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }" { (expression_statement "*(uint *)(iVar19 + 0x50) = uVar7;" (assignment_expression "*(uint *)(iVar19 + 0x50) = uVar7" (pointer_expression "*(uint *)(iVar19 + 0x50)" * (cast_expression "(uint *)(iVar19 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x50)" ( (binary_expression "iVar19 + 0x50" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }" if (parenthesized_expression "((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))" ( (binary_expression "(*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)" (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0)" ( (binary_expression "*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0xc) + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0xc) + 0x80)" ( (binary_expression "*(int *)((int)piVar15 + 0xc) + 0x80" (pointer_expression "*(int *)((int)piVar15 + 0xc)" * (cast_expression "(int *)((int)piVar15 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0xc)" ( (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)" ( (binary_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x94)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x94" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }" { (expression_statement "iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);" (assignment_expression "iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8)" identifier = (pointer_expression "*(int *)(**(int **)((int)piVar15 + 0x14) + 8)" * (cast_expression "(int *)(**(int **)((int)piVar15 + 0x14) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)((int)piVar15 + 0x14) + 8)" ( (binary_expression "**(int **)((int)piVar15 + 0x14) + 8" (pointer_expression "**(int **)((int)piVar15 + 0x14)" * (pointer_expression "*(int **)((int)piVar15 + 0x14)" * (cast_expression "(int **)((int)piVar15 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + 0x14)" ( (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) + number_literal) ))))) ;) (if_statement "if (iVar10 == 0) goto LAB_001bcf3e;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001bcf3e;" goto statement_identifier ;)) (if_statement "if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }" if (parenthesized_expression "((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0'))" ( (binary_expression "(*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')" (parenthesized_expression "(*(char *)(iVar10 + 0x1a25) != '\0')" ( (binary_expression "*(char *)(iVar10 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar10 + 0x1a25)" * (cast_expression "(char *)(iVar10 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1a25)" ( (binary_expression "iVar10 + 0x1a25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)(iVar10 + 0x2931) != '\0')" ( (binary_expression "*(char *)(iVar10 + 0x2931) != '\0'" (pointer_expression "*(char *)(iVar10 + 0x2931)" * (cast_expression "(char *)(iVar10 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x2931)" ( (binary_expression "iVar10 + 0x2931" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }" { (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bcea9" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" * (cast_expression "(undefined4 *)((int)piVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_001950e0();" (assignment_expression "uVar8 = FUN_001950e0()" identifier = (call_expression "FUN_001950e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + 8) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + 8) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + 8)" * (cast_expression "(undefined4 *)((int)piVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 8)" ( (binary_expression "(int)piVar15 + 8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar15 + -0xc) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0xc) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0xc)" * (cast_expression "(int *)((int)piVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar15 + -0x10) = iVar19;" (assignment_expression "*(int *)((int)piVar15 + -0x10) = iVar19" (pointer_expression "*(int *)((int)piVar15 + -0x10)" * (cast_expression "(int *)((int)piVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_0008fe50();" (assignment_expression "uVar8 = FUN_0008fe50()" identifier = (call_expression "FUN_0008fe50()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" * (cast_expression "(undefined4 *)((int)piVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -8) = 1;" (assignment_expression "*(undefined4 *)((int)piVar15 + -8) = 1" (pointer_expression "*(undefined4 *)((int)piVar15 + -8)" * (cast_expression "(undefined4 *)((int)piVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar8 = *(undefined4 *)((int)piVar15 + 0xc);" (assignment_expression "uVar8 = *(undefined4 *)((int)piVar15 + 0xc)" identifier = (pointer_expression "*(undefined4 *)((int)piVar15 + 0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0xc)" ( (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x18) = 3;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x18) = 3" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x18)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x18)" ( (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar15 + -0x1c) = iVar19;" (assignment_expression "*(int *)((int)piVar15 + -0x1c) = iVar19" (pointer_expression "*(int *)((int)piVar15 + -0x1c)" * (cast_expression "(int *)((int)piVar15 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x1c)" ( (binary_expression "(int)piVar15 + -0x1c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -0x20)" * (cast_expression "(undefined1 **)((int)piVar15 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -0x20)" ( (binary_expression "(int)piVar15 + -0x20" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x24)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x24)" ( (binary_expression "(int)piVar15 + -0x24" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002d6080();" (call_expression "FUN_002d6080()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -8)" * (cast_expression "(undefined1 **)((int)piVar15 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 8)" * (cast_expression "(undefined4 *)((int)piVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 8)" ( (binary_expression "(int)piVar15 + 8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072fa0();" (call_expression "FUN_00072fa0()" identifier (argument_list "()" ( ))) ;) })) })) })) })) (expression_statement "puVar5 = (undefined4 *)*puVar5;" (assignment_expression "puVar5 = (undefined4 *)*puVar5" identifier = (cast_expression "(undefined4 *)*puVar5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (labeled_statement "LAB_001bcf9d:\n  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);" statement_identifier : (expression_statement "aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);" (assignment_expression "aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20)" (subscript_expression "aiStack_70[0]" identifier [ number_literal ]) = (cast_expression "(int)((ulonglong)uVar20 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar20 >> 0x20)" ( (binary_expression "(ulonglong)uVar20 >> 0x20" (cast_expression "(ulonglong)uVar20" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "aiStack_8c[1] = (int)uVar20;" (assignment_expression "aiStack_8c[1] = (int)uVar20" (subscript_expression "aiStack_8c[1]" identifier [ number_literal ]) = (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bcfa2;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bcfa2" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" * (cast_expression "(undefined4 *)((int)piVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001755c0();" (call_expression "FUN_001755c0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_001bcfa2:\n  *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f920;" statement_identifier : (expression_statement "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f920;" (assignment_expression "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f920" (pointer_expression "*(int *)((int)piVar15 + -8)" * (cast_expression "(int *)((int)piVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + -0x16f920" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0x231;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0x231" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cca3;" (assignment_expression "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cca3" (pointer_expression "*(int *)((int)piVar15 + -0x10)" * (cast_expression "(int *)((int)piVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + -0x19cca3" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) comment (expression_statement "*(undefined **)((int)piVar15 + -0x14) = &UNK_001bcfc1;" (assignment_expression "*(undefined **)((int)piVar15 + -0x14) = &UNK_001bcfc1" (pointer_expression "*(undefined **)((int)piVar15 + -0x14)" * (cast_expression "(undefined **)((int)piVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_001bcfc1" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void do_adjust_dyn_symbol(Target_mips<32,_true> * this, Symbol * sym,\n   uchar * view) */\n\nvoid __thiscall\nanon_unknown.dwarf_d7d43e::Target_mips<32,_true>::do_adjust_dyn_symbol\n          (Target_mips<32,_true> *this,Symbol *sym,uchar *view)\n\n{\n  int *piVar1;\n  int *piVar2;\n  uint uVar3;\n  uint uVar4;\n  byte bVar5;\n  byte bVar6;\n  Target_mips<32,_true> *in_stack_ffffffd4;\n  Mips16_stub_section<32,_true> *in_stack_ffffffd8;\n  \n  uVar4 = *(uint *)(view + 4);\n  uVar3 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  bVar5 = sym->field_0x29;\n  bVar6 = bVar5 >> 2;\n  if (((bVar6 & 0x3c) == 0x3c) && (uVar3 != 0)) {\n    piVar1 = (int *)sym[2].name_;\n    uVar3 = uVar3 | 1;\n    if (piVar1 != (int *)0x0) {\n      uVar3 = Mips16_stub_section<32,_true>::output_address\n                        ((Mips16_stub_section<32,_true> *)in_stack_ffffffd4,in_stack_ffffffd8);\n      piVar2 = (int *)*piVar1;\n      if (*(code **)(*piVar2 + 0x3c) == gold::Sized_relobj_file<32,_true>::do_section_size) {\n        uVar4 = elfcpp::Elf_file<32,_true,_gold::Object>::section_size\n                          ((Elf_file<32,_true,_gold::Object> *)(piVar2 + 0x24),piVar1[1]);\n      }\n      else {\n        uVar4 = (**(code **)(*piVar2 + 0x3c))(piVar2,piVar1[1]);\n      }\n      *(uint *)(view + 8) =\n           uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n      bVar5 = sym->field_0x29;\n      bVar6 = bVar5 >> 2;\n    }\n    *(uint *)(view + 4) =\n         uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n    view[0xd] = (bVar5 & 3) + 0x10 + bVar6 * '\x04';\n    return;\n  }\n  if ((bVar6 & 0x30) != 0x20) {\n    if (this->field_0xc == '\0') {\n                    /* WARNING: Subroutine does not return */\n      is_output_micromips(in_stack_ffffffd4);\n    }\n    if ((this->field_0xb & 2) == 0) {\n      return;\n    }\n    if (*(char *)((int)&sym[1].got_offsets_.got_next_ + 1) == '\0') {\n      return;\n    }\n  }\n  if (uVar3 != 0) {\n    *(uint *)(view + 4) = uVar4 | 0x1000000;\n    view[0xd] = (bVar5 & 3) + 0x80 + bVar6 * '\x04';\n  }\n  return;\n}\n\n" comment comment comment (declaration "void __thiscall\nanon_unknown.dwarf_d7d43e::Target_mips<32,_true>::do_adjust_dyn_symbol\n          (Target_mips<32,_true> *this,Symbol *sym,uchar *view)\n\n{\n  int *piVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) identifier (ERROR ".dwarf_d7d43e::Target_mips<32" . identifier : : identifier < number_literal) , (ERROR "_true>::do_adjust_dyn_symbol\n          (Target_mips<32,_true> *this,Symbol *sym,uchar *view)\n\n{\n  int" identifier > : : (function_declarator "do_adjust_dyn_symbol\n          (Target_mips<32,_true> *this,Symbol *sym,uchar *view)" identifier (parameter_list "(Target_mips<32,_true> *this,Symbol *sym,uchar *view)" ( (parameter_declaration "Target_mips" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_true> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol *sym" type_identifier (pointer_declarator "*sym" * identifier)) , (parameter_declaration "uchar *view" type_identifier (pointer_declarator "*view" * identifier)) ))) { primitive_type) (pointer_declarator "*piVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (expression_statement "Target_mips<32,_true> *in_stack_ffffffd4;" (update_expression "Target_mips<32,_true> *in_stack_ffffffd4" (binary_expression "Target_mips<32,_true> *in_stack_ffffffd4" (binary_expression "Target_mips<32" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*in_stack_ffffffd4" * identifier)) --) ;) (expression_statement "Mips16_stub_section<32,_true> *in_stack_ffffffd8;" (update_expression "Mips16_stub_section<32,_true> *in_stack_ffffffd8" (binary_expression "Mips16_stub_section<32,_true> *in_stack_ffffffd8" (binary_expression "Mips16_stub_section<32" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*in_stack_ffffffd8" * identifier)) --) ;) (expression_statement "uVar4 = *(uint *)(view + 4);" (assignment_expression "uVar4 = *(uint *)(view + 4)" identifier = (pointer_expression "*(uint *)(view + 4)" * (cast_expression "(uint *)(view + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(view + 4)" ( (binary_expression "view + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "uVar3 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" identifier = (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x18" identifier << number_literal))) ;) (expression_statement "bVar5 = sym->field_0x29;" (assignment_expression "bVar5 = sym->field_0x29" identifier = (field_expression "sym->field_0x29" identifier -> field_identifier)) ;) (expression_statement "bVar6 = bVar5 >> 2;" (assignment_expression "bVar6 = bVar5 >> 2" identifier = (binary_expression "bVar5 >> 2" identifier >> number_literal)) ;) (if_statement "if (((bVar6 & 0x3c) == 0x3c) && (uVar3 != 0)) {\n    piVar1 = (int *)sym[2].name_;\n    uVar3 = uVar3 | 1;\n    if (piVar1 != (int *)0x0) {\n      uVar3 = Mips16_stub_section<32,_true>::output_address\n                        ((Mips16_stub_section<32,_true> *)in_stack_ffffffd4,in_stack_ffffffd8);\n      piVar2 = (int *)*piVar1;\n      if (*(code **)(*piVar2 + 0x3c) == gold::Sized_relobj_file<32,_true>::do_section_size) {\n        uVar4 = elfcpp::Elf_file<32,_true,_gold::Object>::section_size\n                          ((Elf_file<32,_true,_gold::Object> *)(piVar2 + 0x24),piVar1[1]);\n      }\n      else {\n        uVar4 = (**(code **)(*piVar2 + 0x3c))(piVar2,piVar1[1]);\n      }\n      *(uint *)(view + 8) =\n           uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n      bVar5 = sym->field_0x29;\n      bVar6 = bVar5 >> 2;\n    }\n    *(uint *)(view + 4) =\n         uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n    view[0xd] = (bVar5 & 3) + 0x10 + bVar6 * '\x04';\n    return;\n  }" if (parenthesized_expression "(((bVar6 & 0x3c) == 0x3c) && (uVar3 != 0))" ( (binary_expression "((bVar6 & 0x3c) == 0x3c) && (uVar3 != 0)" (parenthesized_expression "((bVar6 & 0x3c) == 0x3c)" ( (binary_expression "(bVar6 & 0x3c) == 0x3c" (parenthesized_expression "(bVar6 & 0x3c)" ( (binary_expression "bVar6 & 0x3c" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(uVar3 != 0)" ( (binary_expression "uVar3 != 0" identifier != number_literal) ))) )) (compound_statement "{\n    piVar1 = (int *)sym[2].name_;\n    uVar3 = uVar3 | 1;\n    if (piVar1 != (int *)0x0) {\n      uVar3 = Mips16_stub_section<32,_true>::output_address\n                        ((Mips16_stub_section<32,_true> *)in_stack_ffffffd4,in_stack_ffffffd8);\n      piVar2 = (int *)*piVar1;\n      if (*(code **)(*piVar2 + 0x3c) == gold::Sized_relobj_file<32,_true>::do_section_size) {\n        uVar4 = elfcpp::Elf_file<32,_true,_gold::Object>::section_size\n                          ((Elf_file<32,_true,_gold::Object> *)(piVar2 + 0x24),piVar1[1]);\n      }\n      else {\n        uVar4 = (**(code **)(*piVar2 + 0x3c))(piVar2,piVar1[1]);\n      }\n      *(uint *)(view + 8) =\n           uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n      bVar5 = sym->field_0x29;\n      bVar6 = bVar5 >> 2;\n    }\n    *(uint *)(view + 4) =\n         uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n    view[0xd] = (bVar5 & 3) + 0x10 + bVar6 * '\x04';\n    return;\n  }" { (expression_statement "piVar1 = (int *)sym[2].name_;" (assignment_expression "piVar1 = (int *)sym[2].name_" identifier = (cast_expression "(int *)sym[2].name_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "sym[2].name_" (subscript_expression "sym[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "uVar3 = uVar3 | 1;" (assignment_expression "uVar3 = uVar3 | 1" identifier = (binary_expression "uVar3 | 1" identifier | number_literal)) ;) (if_statement "if (piVar1 != (int *)0x0) {\n      uVar3 = Mips16_stub_section<32,_true>::output_address\n                        ((Mips16_stub_section<32,_true> *)in_stack_ffffffd4,in_stack_ffffffd8);\n      piVar2 = (int *)*piVar1;\n      if (*(code **)(*piVar2 + 0x3c) == gold::Sized_relobj_file<32,_true>::do_section_size) {\n        uVar4 = elfcpp::Elf_file<32,_true,_gold::Object>::section_size\n                          ((Elf_file<32,_true,_gold::Object> *)(piVar2 + 0x24),piVar1[1]);\n      }\n      else {\n        uVar4 = (**(code **)(*piVar2 + 0x3c))(piVar2,piVar1[1]);\n      }\n      *(uint *)(view + 8) =\n           uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n      bVar5 = sym->field_0x29;\n      bVar6 = bVar5 >> 2;\n    }" if (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar3 = Mips16_stub_section<32,_true>::output_address\n                        ((Mips16_stub_section<32,_true> *)in_stack_ffffffd4,in_stack_ffffffd8);\n      piVar2 = (int *)*piVar1;\n      if (*(code **)(*piVar2 + 0x3c) == gold::Sized_relobj_file<32,_true>::do_section_size) {\n        uVar4 = elfcpp::Elf_file<32,_true,_gold::Object>::section_size\n                          ((Elf_file<32,_true,_gold::Object> *)(piVar2 + 0x24),piVar1[1]);\n      }\n      else {\n        uVar4 = (**(code **)(*piVar2 + 0x3c))(piVar2,piVar1[1]);\n      }\n      *(uint *)(view + 8) =\n           uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n      bVar5 = sym->field_0x29;\n      bVar6 = bVar5 >> 2;\n    }" { (expression_statement "uVar3 = Mips16_stub_section<32,_true>::output_address\n                        ((Mips16_stub_section<32,_true> *)in_stack_ffffffd4,in_stack_ffffffd8);" (comma_expression "uVar3 = Mips16_stub_section<32,_true>::output_address\n                        ((Mips16_stub_section<32,_true> *)in_stack_ffffffd4,in_stack_ffffffd8)" (assignment_expression "uVar3 = Mips16_stub_section<32" identifier = (binary_expression "Mips16_stub_section<32" identifier < number_literal)) , (binary_expression "_true>::output_address\n                        ((Mips16_stub_section<32,_true> *)in_stack_ffffffd4,in_stack_ffffffd8)" identifier > (ERROR "::" : :) (call_expression "output_address\n                        ((Mips16_stub_section<32,_true> *)in_stack_ffffffd4,in_stack_ffffffd8)" identifier (argument_list "((Mips16_stub_section<32,_true> *)in_stack_ffffffd4,in_stack_ffffffd8)" ( (parenthesized_expression "(Mips16_stub_section<32,_true> *)in_stack_ffffffd4,in_stack_ffffffd8)" ( (comma_expression "Mips16_stub_section<32,_true> *)in_stack_ffffffd4,in_stack_ffffffd8" (binary_expression "Mips16_stub_section<32" identifier < number_literal) , (comma_expression "_true> *)in_stack_ffffffd4,in_stack_ffffffd8" (binary_expression "_true> *)in_stack_ffffffd4" identifier > (pointer_expression "*)in_stack_ffffffd4" * (ERROR ")" )) identifier)) , identifier)) )) ))))) ;) (expression_statement "piVar2 = (int *)*piVar1;" (assignment_expression "piVar2 = (int *)*piVar1" identifier = (cast_expression "(int *)*piVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier))) ;) (if_statement "if (*(code **)(*piVar2 + 0x3c) == gold::Sized_relobj_file<32,_true>::do_section_size) {\n        uVar4 = elfcpp::Elf_file<32,_true,_gold::Object>::section_size\n                          ((Elf_file<32,_true,_gold::Object> *)(piVar2 + 0x24),piVar1[1]);\n      }\n      else {\n        uVar4 = (**(code **)(*piVar2 + 0x3c))(piVar2,piVar1[1]);\n      }" if (parenthesized_expression "(*(code **)(*piVar2 + 0x3c) == gold::Sized_relobj_file<32,_true>::do_section_size)" ( (comma_expression "*(code **)(*piVar2 + 0x3c) == gold::Sized_relobj_file<32,_true>::do_section_size" (binary_expression "*(code **)(*piVar2 + 0x3c) == gold::Sized_relobj_file<32" (binary_expression "*(code **)(*piVar2 + 0x3c) == gold" (pointer_expression "*(code **)(*piVar2 + 0x3c)" * (cast_expression "(code **)(*piVar2 + 0x3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0x3c)" ( (binary_expression "*piVar2 + 0x3c" (pointer_expression "*piVar2" * identifier) + number_literal) )))) == identifier) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) , (binary_expression "_true>::do_section_size" identifier > (ERROR "::" : :) identifier)) )) (compound_statement "{\n        uVar4 = elfcpp::Elf_file<32,_true,_gold::Object>::section_size\n                          ((Elf_file<32,_true,_gold::Object> *)(piVar2 + 0x24),piVar1[1]);\n      }" { (ERROR "uVar4 = elfcpp::Elf_file<32,_true,_gold::" (comma_expression "uVar4 = elfcpp::Elf_file<32,_true,_gold" (binary_expression "uVar4 = elfcpp::Elf_file<32" (assignment_expression "uVar4 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (expression_statement "Object>::section_size\n                          ((Elf_file<32,_true,_gold::Object> *)(piVar2 + 0x24),piVar1[1]);" (binary_expression "Object>::section_size\n                          ((Elf_file<32,_true,_gold::Object> *)(piVar2 + 0x24),piVar1[1])" identifier > (ERROR "::" : :) (call_expression "section_size\n                          ((Elf_file<32,_true,_gold::Object> *)(piVar2 + 0x24),piVar1[1])" identifier (argument_list "((Elf_file<32,_true,_gold::Object> *)(piVar2 + 0x24),piVar1[1])" ( (call_expression "(Elf_file<32,_true,_gold::Object> *)(piVar2 + 0x24)" (parenthesized_expression "(Elf_file<32,_true,_gold::Object> *)" ( (ERROR "Elf_file<32,_true,_gold::" (comma_expression "Elf_file<32,_true,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (binary_expression "Object> *" identifier > (pointer_expression "*" * identifier)) )) (argument_list "(piVar2 + 0x24)" ( (binary_expression "piVar2 + 0x24" identifier + number_literal) ))) , (subscript_expression "piVar1[1]" identifier [ number_literal ]) )))) ;) }) (else_clause "else {\n        uVar4 = (**(code **)(*piVar2 + 0x3c))(piVar2,piVar1[1]);\n      }" else (compound_statement "{\n        uVar4 = (**(code **)(*piVar2 + 0x3c))(piVar2,piVar1[1]);\n      }" { (expression_statement "uVar4 = (**(code **)(*piVar2 + 0x3c))(piVar2,piVar1[1]);" (assignment_expression "uVar4 = (**(code **)(*piVar2 + 0x3c))(piVar2,piVar1[1])" identifier = (call_expression "(**(code **)(*piVar2 + 0x3c))(piVar2,piVar1[1])" (parenthesized_expression "(**(code **)(*piVar2 + 0x3c))" ( (pointer_expression "**(code **)(*piVar2 + 0x3c)" * (pointer_expression "*(code **)(*piVar2 + 0x3c)" * (cast_expression "(code **)(*piVar2 + 0x3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0x3c)" ( (binary_expression "*piVar2 + 0x3c" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2,piVar1[1])" ( identifier , (subscript_expression "piVar1[1]" identifier [ number_literal ]) )))) ;) }))) (expression_statement "*(uint *)(view + 8) =\n           uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "*(uint *)(view + 8) =\n           uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (pointer_expression "*(uint *)(view + 8)" * (cast_expression "(uint *)(view + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(view + 8)" ( (binary_expression "view + 8" identifier + number_literal) )))) = (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x18" identifier << number_literal))) ;) (expression_statement "bVar5 = sym->field_0x29;" (assignment_expression "bVar5 = sym->field_0x29" identifier = (field_expression "sym->field_0x29" identifier -> field_identifier)) ;) (expression_statement "bVar6 = bVar5 >> 2;" (assignment_expression "bVar6 = bVar5 >> 2" identifier = (binary_expression "bVar5 >> 2" identifier >> number_literal)) ;) })) (expression_statement "*(uint *)(view + 4) =\n         uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;" (assignment_expression "*(uint *)(view + 4) =\n         uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18" (pointer_expression "*(uint *)(view + 4)" * (cast_expression "(uint *)(view + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(view + 4)" ( (binary_expression "view + 4" identifier + number_literal) )))) = (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar3 << 0x18" identifier << number_literal))) ;) (expression_statement "view[0xd] = (bVar5 & 3) + 0x10 + bVar6 * '\x04';" (assignment_expression "view[0xd] = (bVar5 & 3) + 0x10 + bVar6 * '\x04'" (subscript_expression "view[0xd]" identifier [ number_literal ]) = (binary_expression "(bVar5 & 3) + 0x10 + bVar6 * '\x04'" (binary_expression "(bVar5 & 3) + 0x10" (parenthesized_expression "(bVar5 & 3)" ( (binary_expression "bVar5 & 3" identifier & number_literal) )) + number_literal) + (binary_expression "bVar6 * '\x04'" identifier * (char_literal "'\x04'" ' escape_sequence ')))) ;) (return_statement "return;" return ;) })) (if_statement "if ((bVar6 & 0x30) != 0x20) {\n    if (this->field_0xc == '\0') {\n                    /* WARNING: Subroutine does not return */\n      is_output_micromips(in_stack_ffffffd4);\n    }\n    if ((this->field_0xb & 2) == 0) {\n      return;\n    }\n    if (*(char *)((int)&sym[1].got_offsets_.got_next_ + 1) == '\0') {\n      return;\n    }\n  }" if (parenthesized_expression "((bVar6 & 0x30) != 0x20)" ( (binary_expression "(bVar6 & 0x30) != 0x20" (parenthesized_expression "(bVar6 & 0x30)" ( (binary_expression "bVar6 & 0x30" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    if (this->field_0xc == '\0') {\n                    /* WARNING: Subroutine does not return */\n      is_output_micromips(in_stack_ffffffd4);\n    }\n    if ((this->field_0xb & 2) == 0) {\n      return;\n    }\n    if (*(char *)((int)&sym[1].got_offsets_.got_next_ + 1) == '\0') {\n      return;\n    }\n  }" { (if_statement "if (this->field_0xc == '\0') {\n                    /* WARNING: Subroutine does not return */\n      is_output_micromips(in_stack_ffffffd4);\n    }" if (parenthesized_expression "(this->field_0xc == '\0')" ( (binary_expression "this->field_0xc == '\0'" (field_expression "this->field_0xc" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      is_output_micromips(in_stack_ffffffd4);\n    }" { comment (expression_statement "is_output_micromips(in_stack_ffffffd4);" (call_expression "is_output_micromips(in_stack_ffffffd4)" identifier (argument_list "(in_stack_ffffffd4)" ( identifier ))) ;) })) (if_statement "if ((this->field_0xb & 2) == 0) {\n      return;\n    }" if (parenthesized_expression "((this->field_0xb & 2) == 0)" ( (binary_expression "(this->field_0xb & 2) == 0" (parenthesized_expression "(this->field_0xb & 2)" ( (binary_expression "this->field_0xb & 2" (field_expression "this->field_0xb" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (*(char *)((int)&sym[1].got_offsets_.got_next_ + 1) == '\0') {\n      return;\n    }" if (parenthesized_expression "(*(char *)((int)&sym[1].got_offsets_.got_next_ + 1) == '\0')" ( (binary_expression "*(char *)((int)&sym[1].got_offsets_.got_next_ + 1) == '\0'" (pointer_expression "*(char *)((int)&sym[1].got_offsets_.got_next_ + 1)" * (cast_expression "(char *)((int)&sym[1].got_offsets_.got_next_ + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&sym[1].got_offsets_.got_next_ + 1)" ( (binary_expression "(int)&sym[1].got_offsets_.got_next_ + 1" (cast_expression "(int)&sym[1].got_offsets_.got_next_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&sym[1].got_offsets_.got_next_" & (field_expression "sym[1].got_offsets_.got_next_" (field_expression "sym[1].got_offsets_" (subscript_expression "sym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) })) (if_statement "if (uVar3 != 0) {\n    *(uint *)(view + 4) = uVar4 | 0x1000000;\n    view[0xd] = (bVar5 & 3) + 0x80 + bVar6 * '\x04';\n  }" if (parenthesized_expression "(uVar3 != 0)" ( (binary_expression "uVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    *(uint *)(view + 4) = uVar4 | 0x1000000;\n    view[0xd] = (bVar5 & 3) + 0x80 + bVar6 * '\x04';\n  }" { (expression_statement "*(uint *)(view + 4) = uVar4 | 0x1000000;" (assignment_expression "*(uint *)(view + 4) = uVar4 | 0x1000000" (pointer_expression "*(uint *)(view + 4)" * (cast_expression "(uint *)(view + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(view + 4)" ( (binary_expression "view + 4" identifier + number_literal) )))) = (binary_expression "uVar4 | 0x1000000" identifier | number_literal)) ;) (expression_statement "view[0xd] = (bVar5 & 3) + 0x80 + bVar6 * '\x04';" (assignment_expression "view[0xd] = (bVar5 & 3) + 0x80 + bVar6 * '\x04'" (subscript_expression "view[0xd]" identifier [ number_literal ]) = (binary_expression "(bVar5 & 3) + 0x80 + bVar6 * '\x04'" (binary_expression "(bVar5 & 3) + 0x80" (parenthesized_expression "(bVar5 & 3)" ( (binary_expression "bVar5 & 3" identifier & number_literal) )) + number_literal) + (binary_expression "bVar6 * '\x04'" identifier * (char_literal "'\x04'" ' escape_sequence ')))) ;) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_001bc750(int param_1,int param_2,int param_3)\n\n{\n  byte bVar1;\n  int *piVar2;\n  int *piVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char cVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  int iVar9;\n  int iVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int iVar13;\n  byte bVar14;\n  int *piVar15;\n  uint uVar16;\n  int iVar17;\n  uint uVar18;\n  int iVar19;\n  undefined8 uVar20;\n  int iStackY_bc;\n  int aiStack_a4 [4];\n  undefined **ppuStack_94;\n  code *pcStack_90;\n  int aiStack_8c [2];\n  undefined4 *puStack_84;\n  int aiStack_70 [4];\n  int iStack_60;\n  undefined4 uStack_5c;\n  byte bStack_59;\n  int aiStack_58 [6];\n  undefined4 uStack_40;\n  int *piStack_3c;\n  uint uStack_38;\n  int iStack_34;\n  uint uStack_30;\n  uint local_20;\n  \n  uVar7 = *(uint *)(param_3 + 4);\n  local_20 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n  bVar1 = *(byte *)(param_2 + 0x29);\n  bVar14 = bVar1 >> 2;\n  uVar16 = bVar14 & 0x3c;\n  if (((char)uVar16 == '<') && (uVar16 = local_20, local_20 != 0)) {\n    piVar15 = *(int **)(param_2 + 0x60);\n    uVar7 = local_20 | 1;\n    if (piVar15 != (int *)0x0) {\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }\n    *(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n    *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04';\n    return;\n  }\n  uVar18 = bVar14 & 0x30;\n  if ((char)uVar18 == ' ') {\nLAB_001bc7be:\n    if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }\n    return;\n  }\n  if (*(char *)(param_1 + 0xc) != '\0') {\n    if ((*(byte *)(param_1 + 0xb) & 2) == 0) {\n      return;\n    }\n    if (*(char *)(param_2 + 0x55) == '\0') {\n      return;\n    }\n    goto LAB_001bc7be;\n  }\n  uStack_30 = 0x1bc871;\n  uVar20 = FUN_00175bf0();\n  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);\n  aiStack_8c[1] = (int)uVar20;\n  iStack_34 = param_3;\n  uStack_40 = 0x1bc889;\n  ppuStack_94 = &__DT_PLTGOT;\n  piVar15 = aiStack_a4 + 3;\n  iVar17 = *(int *)(aiStack_70[0] + 0x14);\n  aiStack_8c[0] = iVar17;\n  piStack_3c = (int *)uVar7;\n  uStack_38 = uVar18;\n  uStack_30 = uVar16;\n  if (iVar17 != 0) {\n    iStack_60 = 0;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    iStack_60 = 0x80000000;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    piVar15 = aiStack_a4 + 3;\n    piVar11 = *(int **)(aiStack_8c[1] + 0x3c);\n    if (piVar11 == (int *)0x0) {\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }\n    uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n    iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14);\n    if (iVar17 != 0) {\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }\n  }\nLAB_001bcf9d:\n  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);\n  aiStack_8c[1] = (int)uVar20;\n  *(undefined4 *)((int)piVar15 + -4) = 0x1bcfa2;\n  FUN_001755c0();\nLAB_001bcfa2:\n  *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f920;\n  *(undefined4 *)((int)piVar15 + -0xc) = 0x231;\n  *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cca3;\n                    \n  *(undefined **)((int)piVar15 + -0x14) = &UNK_001bcfc1;\n  FUN_002446e0();\n}\n\n" (function_definition "void FUN_001bc750(int param_1,int param_2,int param_3)\n\n{\n  byte bVar1;\n  int *piVar2;\n  int *piVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char cVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  int iVar9;\n  int iVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int iVar13;\n  byte bVar14;\n  int *piVar15;\n  uint uVar16;\n  int iVar17;\n  uint uVar18;\n  int iVar19;\n  undefined8 uVar20;\n  int iStackY_bc;\n  int aiStack_a4 [4];\n  undefined **ppuStack_94;\n  code *pcStack_90;\n  int aiStack_8c [2];\n  undefined4 *puStack_84;\n  int aiStack_70 [4];\n  int iStack_60;\n  undefined4 uStack_5c;\n  byte bStack_59;\n  int aiStack_58 [6];\n  undefined4 uStack_40;\n  int *piStack_3c;\n  uint uStack_38;\n  int iStack_34;\n  uint uStack_30;\n  uint local_20;\n  \n  uVar7 = *(uint *)(param_3 + 4);\n  local_20 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n  bVar1 = *(byte *)(param_2 + 0x29);\n  bVar14 = bVar1 >> 2;\n  uVar16 = bVar14 & 0x3c;\n  if (((char)uVar16 == '<') && (uVar16 = local_20, local_20 != 0)) {\n    piVar15 = *(int **)(param_2 + 0x60);\n    uVar7 = local_20 | 1;\n    if (piVar15 != (int *)0x0) {\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }\n    *(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n    *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04';\n    return;\n  }\n  uVar18 = bVar14 & 0x30;\n  if ((char)uVar18 == ' ') {\nLAB_001bc7be:\n    if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }\n    return;\n  }\n  if (*(char *)(param_1 + 0xc) != '\0') {\n    if ((*(byte *)(param_1 + 0xb) & 2) == 0) {\n      return;\n    }\n    if (*(char *)(param_2 + 0x55) == '\0') {\n      return;\n    }\n    goto LAB_001bc7be;\n  }\n  uStack_30 = 0x1bc871;\n  uVar20 = FUN_00175bf0();\n  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);\n  aiStack_8c[1] = (int)uVar20;\n  iStack_34 = param_3;\n  uStack_40 = 0x1bc889;\n  ppuStack_94 = &__DT_PLTGOT;\n  piVar15 = aiStack_a4 + 3;\n  iVar17 = *(int *)(aiStack_70[0] + 0x14);\n  aiStack_8c[0] = iVar17;\n  piStack_3c = (int *)uVar7;\n  uStack_38 = uVar18;\n  uStack_30 = uVar16;\n  if (iVar17 != 0) {\n    iStack_60 = 0;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    iStack_60 = 0x80000000;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    piVar15 = aiStack_a4 + 3;\n    piVar11 = *(int **)(aiStack_8c[1] + 0x3c);\n    if (piVar11 == (int *)0x0) {\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }\n    uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n    iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14);\n    if (iVar17 != 0) {\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }\n  }\nLAB_001bcf9d:\n  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);\n  aiStack_8c[1] = (int)uVar20;\n  *(undefined4 *)((int)piVar15 + -4) = 0x1bcfa2;\n  FUN_001755c0();\nLAB_001bcfa2:\n  *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f920;\n  *(undefined4 *)((int)piVar15 + -0xc) = 0x231;\n  *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cca3;\n                    \n  *(undefined **)((int)piVar15 + -0x14) = &UNK_001bcfc1;\n  FUN_002446e0();\n}" primitive_type (function_declarator "FUN_001bc750(int param_1,int param_2,int param_3)" identifier (parameter_list "(int param_1,int param_2,int param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  int *piVar2;\n  int *piVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char cVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  int iVar9;\n  int iVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int iVar13;\n  byte bVar14;\n  int *piVar15;\n  uint uVar16;\n  int iVar17;\n  uint uVar18;\n  int iVar19;\n  undefined8 uVar20;\n  int iStackY_bc;\n  int aiStack_a4 [4];\n  undefined **ppuStack_94;\n  code *pcStack_90;\n  int aiStack_8c [2];\n  undefined4 *puStack_84;\n  int aiStack_70 [4];\n  int iStack_60;\n  undefined4 uStack_5c;\n  byte bStack_59;\n  int aiStack_58 [6];\n  undefined4 uStack_40;\n  int *piStack_3c;\n  uint uStack_38;\n  int iStack_34;\n  uint uStack_30;\n  uint local_20;\n  \n  uVar7 = *(uint *)(param_3 + 4);\n  local_20 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n  bVar1 = *(byte *)(param_2 + 0x29);\n  bVar14 = bVar1 >> 2;\n  uVar16 = bVar14 & 0x3c;\n  if (((char)uVar16 == '<') && (uVar16 = local_20, local_20 != 0)) {\n    piVar15 = *(int **)(param_2 + 0x60);\n    uVar7 = local_20 | 1;\n    if (piVar15 != (int *)0x0) {\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }\n    *(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n    *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04';\n    return;\n  }\n  uVar18 = bVar14 & 0x30;\n  if ((char)uVar18 == ' ') {\nLAB_001bc7be:\n    if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }\n    return;\n  }\n  if (*(char *)(param_1 + 0xc) != '\0') {\n    if ((*(byte *)(param_1 + 0xb) & 2) == 0) {\n      return;\n    }\n    if (*(char *)(param_2 + 0x55) == '\0') {\n      return;\n    }\n    goto LAB_001bc7be;\n  }\n  uStack_30 = 0x1bc871;\n  uVar20 = FUN_00175bf0();\n  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);\n  aiStack_8c[1] = (int)uVar20;\n  iStack_34 = param_3;\n  uStack_40 = 0x1bc889;\n  ppuStack_94 = &__DT_PLTGOT;\n  piVar15 = aiStack_a4 + 3;\n  iVar17 = *(int *)(aiStack_70[0] + 0x14);\n  aiStack_8c[0] = iVar17;\n  piStack_3c = (int *)uVar7;\n  uStack_38 = uVar18;\n  uStack_30 = uVar16;\n  if (iVar17 != 0) {\n    iStack_60 = 0;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    iStack_60 = 0x80000000;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    piVar15 = aiStack_a4 + 3;\n    piVar11 = *(int **)(aiStack_8c[1] + 0x3c);\n    if (piVar11 == (int *)0x0) {\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }\n    uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n    iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14);\n    if (iVar17 != 0) {\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }\n  }\nLAB_001bcf9d:\n  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);\n  aiStack_8c[1] = (int)uVar20;\n  *(undefined4 *)((int)piVar15 + -4) = 0x1bcfa2;\n  FUN_001755c0();\nLAB_001bcfa2:\n  *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f920;\n  *(undefined4 *)((int)piVar15 + -0xc) = 0x231;\n  *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cca3;\n                    \n  *(undefined **)((int)piVar15 + -0x14) = &UNK_001bcfc1;\n  FUN_002446e0();\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "undefined8 uVar20;" type_identifier identifier ;) (declaration "int iStackY_bc;" primitive_type identifier ;) (declaration "int aiStack_a4 [4];" primitive_type (array_declarator "aiStack_a4 [4]" identifier [ number_literal ]) ;) (declaration "undefined **ppuStack_94;" type_identifier (pointer_declarator "**ppuStack_94" * (pointer_declarator "*ppuStack_94" * identifier)) ;) (declaration "code *pcStack_90;" type_identifier (pointer_declarator "*pcStack_90" * identifier) ;) (declaration "int aiStack_8c [2];" primitive_type (array_declarator "aiStack_8c [2]" identifier [ number_literal ]) ;) (declaration "undefined4 *puStack_84;" type_identifier (pointer_declarator "*puStack_84" * identifier) ;) (declaration "int aiStack_70 [4];" primitive_type (array_declarator "aiStack_70 [4]" identifier [ number_literal ]) ;) (declaration "int iStack_60;" primitive_type identifier ;) (declaration "undefined4 uStack_5c;" type_identifier identifier ;) (declaration "byte bStack_59;" type_identifier identifier ;) (declaration "int aiStack_58 [6];" primitive_type (array_declarator "aiStack_58 [6]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_40;" type_identifier identifier ;) (declaration "int *piStack_3c;" primitive_type (pointer_declarator "*piStack_3c" * identifier) ;) (declaration "uint uStack_38;" type_identifier identifier ;) (declaration "int iStack_34;" primitive_type identifier ;) (declaration "uint uStack_30;" type_identifier identifier ;) (declaration "uint local_20;" type_identifier identifier ;) (expression_statement "uVar7 = *(uint *)(param_3 + 4);" (assignment_expression "uVar7 = *(uint *)(param_3 + 4)" identifier = (pointer_expression "*(uint *)(param_3 + 4)" * (cast_expression "(uint *)(param_3 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_20 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;" (assignment_expression "local_20 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" identifier = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x18" identifier << number_literal))) ;) (expression_statement "bVar1 = *(byte *)(param_2 + 0x29);" (assignment_expression "bVar1 = *(byte *)(param_2 + 0x29)" identifier = (pointer_expression "*(byte *)(param_2 + 0x29)" * (cast_expression "(byte *)(param_2 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x29)" ( (binary_expression "param_2 + 0x29" identifier + number_literal) ))))) ;) (expression_statement "bVar14 = bVar1 >> 2;" (assignment_expression "bVar14 = bVar1 >> 2" identifier = (binary_expression "bVar1 >> 2" identifier >> number_literal)) ;) (expression_statement "uVar16 = bVar14 & 0x3c;" (assignment_expression "uVar16 = bVar14 & 0x3c" identifier = (binary_expression "bVar14 & 0x3c" identifier & number_literal)) ;) (if_statement "if (((char)uVar16 == '<') && (uVar16 = local_20, local_20 != 0)) {\n    piVar15 = *(int **)(param_2 + 0x60);\n    uVar7 = local_20 | 1;\n    if (piVar15 != (int *)0x0) {\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }\n    *(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n    *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04';\n    return;\n  }" if (parenthesized_expression "(((char)uVar16 == '<') && (uVar16 = local_20, local_20 != 0))" ( (binary_expression "((char)uVar16 == '<') && (uVar16 = local_20, local_20 != 0)" (parenthesized_expression "((char)uVar16 == '<')" ( (binary_expression "(char)uVar16 == '<'" (cast_expression "(char)uVar16" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'<'" ' character ')) )) && (parenthesized_expression "(uVar16 = local_20, local_20 != 0)" ( (comma_expression "uVar16 = local_20, local_20 != 0" (assignment_expression "uVar16 = local_20" identifier = identifier) , (binary_expression "local_20 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    piVar15 = *(int **)(param_2 + 0x60);\n    uVar7 = local_20 | 1;\n    if (piVar15 != (int *)0x0) {\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }\n    *(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n    *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04';\n    return;\n  }" { (expression_statement "piVar15 = *(int **)(param_2 + 0x60);" (assignment_expression "piVar15 = *(int **)(param_2 + 0x60)" identifier = (pointer_expression "*(int **)(param_2 + 0x60)" * (cast_expression "(int **)(param_2 + 0x60)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x60)" ( (binary_expression "param_2 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = local_20 | 1;" (assignment_expression "uVar7 = local_20 | 1" identifier = (binary_expression "local_20 | 1" identifier | number_literal)) ;) (if_statement "if (piVar15 != (int *)0x0) {\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }" if (parenthesized_expression "(piVar15 != (int *)0x0)" ( (binary_expression "piVar15 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }" { (expression_statement "uStack_30 = 0x1bc806;" (assignment_expression "uStack_30 = 0x1bc806" identifier = number_literal) ;) (expression_statement "uVar7 = FUN_0017c910();" (assignment_expression "uVar7 = FUN_0017c910()" identifier = (call_expression "FUN_0017c910()" identifier (argument_list "()" ( )))) ;) (expression_statement "uStack_38 = piVar15[1];" (assignment_expression "uStack_38 = piVar15[1]" identifier = (subscript_expression "piVar15[1]" identifier [ number_literal ])) ;) (expression_statement "piStack_3c = (int *)*piVar15;" (assignment_expression "piStack_3c = (int *)*piVar15" identifier = (cast_expression "(int *)*piVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar15" * identifier))) ;) (if_statement "if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }" if (parenthesized_expression "(*(code **)(*piStack_3c + 0x3c) == FUN_00108a70)" ( (binary_expression "*(code **)(*piStack_3c + 0x3c) == FUN_00108a70" (pointer_expression "*(code **)(*piStack_3c + 0x3c)" * (cast_expression "(code **)(*piStack_3c + 0x3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piStack_3c + 0x3c)" ( (binary_expression "*piStack_3c + 0x3c" (pointer_expression "*piStack_3c" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }" { (expression_statement "piStack_3c = piStack_3c + 0x24;" (assignment_expression "piStack_3c = piStack_3c + 0x24" identifier = (binary_expression "piStack_3c + 0x24" identifier + number_literal)) ;) (expression_statement "uStack_40 = 0x1bc82b;" (assignment_expression "uStack_40 = 0x1bc82b" identifier = number_literal) ;) (expression_statement "uVar16 = FUN_001089b0();" (assignment_expression "uVar16 = FUN_001089b0()" identifier = (call_expression "FUN_001089b0()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }" else (compound_statement "{\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }" { (expression_statement "uStack_40 = 0x1bc867;" (assignment_expression "uStack_40 = 0x1bc867" identifier = number_literal) ;) (expression_statement "uVar16 = (**(code **)(*piStack_3c + 0x3c))();" (assignment_expression "uVar16 = (**(code **)(*piStack_3c + 0x3c))()" identifier = (call_expression "(**(code **)(*piStack_3c + 0x3c))()" (parenthesized_expression "(**(code **)(*piStack_3c + 0x3c))" ( (pointer_expression "**(code **)(*piStack_3c + 0x3c)" * (pointer_expression "*(code **)(*piStack_3c + 0x3c)" * (cast_expression "(code **)(*piStack_3c + 0x3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piStack_3c + 0x3c)" ( (binary_expression "*piStack_3c + 0x3c" (pointer_expression "*piStack_3c" * identifier) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }))) (expression_statement "*(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;" (assignment_expression "*(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (pointer_expression "*(uint *)(param_3 + 8)" * (cast_expression "(uint *)(param_3 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) )))) = (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal))) ;) (expression_statement "bVar1 = *(byte *)(param_2 + 0x29);" (assignment_expression "bVar1 = *(byte *)(param_2 + 0x29)" identifier = (pointer_expression "*(byte *)(param_2 + 0x29)" * (cast_expression "(byte *)(param_2 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x29)" ( (binary_expression "param_2 + 0x29" identifier + number_literal) ))))) ;) (expression_statement "bVar14 = bVar1 >> 2;" (assignment_expression "bVar14 = bVar1 >> 2" identifier = (binary_expression "bVar1 >> 2" identifier >> number_literal)) ;) })) (expression_statement "*(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;" (assignment_expression "*(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (pointer_expression "*(uint *)(param_3 + 4)" * (cast_expression "(uint *)(param_3 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) )))) = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x18" identifier << number_literal))) ;) (expression_statement "*(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04';" (assignment_expression "*(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04'" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) = (binary_expression "(bVar1 & 3) + 0x10 + bVar14 * '\x04'" (binary_expression "(bVar1 & 3) + 0x10" (parenthesized_expression "(bVar1 & 3)" ( (binary_expression "bVar1 & 3" identifier & number_literal) )) + number_literal) + (binary_expression "bVar14 * '\x04'" identifier * (char_literal "'\x04'" ' escape_sequence ')))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar18 = bVar14 & 0x30;" (assignment_expression "uVar18 = bVar14 & 0x30" identifier = (binary_expression "bVar14 & 0x30" identifier & number_literal)) ;) (if_statement "if ((char)uVar18 == ' ') {\nLAB_001bc7be:\n    if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }\n    return;\n  }" if (parenthesized_expression "((char)uVar18 == ' ')" ( (binary_expression "(char)uVar18 == ' '" (cast_expression "(char)uVar18" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "' '" ' character ')) )) (compound_statement "{\nLAB_001bc7be:\n    if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }\n    return;\n  }" { (labeled_statement "LAB_001bc7be:\n    if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }" statement_identifier : (if_statement "if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }" if (parenthesized_expression "(local_20 != 0)" ( (binary_expression "local_20 != 0" identifier != number_literal) )) (compound_statement "{\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }" { (expression_statement "*(uint *)(param_3 + 4) = uVar7 | 0x1000000;" (assignment_expression "*(uint *)(param_3 + 4) = uVar7 | 0x1000000" (pointer_expression "*(uint *)(param_3 + 4)" * (cast_expression "(uint *)(param_3 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) )))) = (binary_expression "uVar7 | 0x1000000" identifier | number_literal)) ;) (expression_statement "*(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';" (assignment_expression "*(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04'" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) = (binary_expression "(bVar1 & 3) + 0x80 + bVar14 * '\x04'" (binary_expression "(bVar1 & 3) + 0x80" (parenthesized_expression "(bVar1 & 3)" ( (binary_expression "bVar1 & 3" identifier & number_literal) )) + number_literal) + (binary_expression "bVar14 * '\x04'" identifier * (char_literal "'\x04'" ' escape_sequence ')))) ;) }))) (return_statement "return;" return ;) })) (if_statement "if (*(char *)(param_1 + 0xc) != '\0') {\n    if ((*(byte *)(param_1 + 0xb) & 2) == 0) {\n      return;\n    }\n    if (*(char *)(param_2 + 0x55) == '\0') {\n      return;\n    }\n    goto LAB_001bc7be;\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0xc) != '\0')" ( (binary_expression "*(char *)(param_1 + 0xc) != '\0'" (pointer_expression "*(char *)(param_1 + 0xc)" * (cast_expression "(char *)(param_1 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if ((*(byte *)(param_1 + 0xb) & 2) == 0) {\n      return;\n    }\n    if (*(char *)(param_2 + 0x55) == '\0') {\n      return;\n    }\n    goto LAB_001bc7be;\n  }" { (if_statement "if ((*(byte *)(param_1 + 0xb) & 2) == 0) {\n      return;\n    }" if (parenthesized_expression "((*(byte *)(param_1 + 0xb) & 2) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0xb) & 2) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0xb) & 2)" ( (binary_expression "*(byte *)(param_1 + 0xb) & 2" (pointer_expression "*(byte *)(param_1 + 0xb)" * (cast_expression "(byte *)(param_1 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb)" ( (binary_expression "param_1 + 0xb" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (*(char *)(param_2 + 0x55) == '\0') {\n      return;\n    }" if (parenthesized_expression "(*(char *)(param_2 + 0x55) == '\0')" ( (binary_expression "*(char *)(param_2 + 0x55) == '\0'" (pointer_expression "*(char *)(param_2 + 0x55)" * (cast_expression "(char *)(param_2 + 0x55)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x55)" ( (binary_expression "param_2 + 0x55" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_001bc7be;" goto statement_identifier ;) })) (expression_statement "uStack_30 = 0x1bc871;" (assignment_expression "uStack_30 = 0x1bc871" identifier = number_literal) ;) (expression_statement "uVar20 = FUN_00175bf0();" (assignment_expression "uVar20 = FUN_00175bf0()" identifier = (call_expression "FUN_00175bf0()" identifier (argument_list "()" ( )))) ;) (expression_statement "aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);" (assignment_expression "aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20)" (subscript_expression "aiStack_70[0]" identifier [ number_literal ]) = (cast_expression "(int)((ulonglong)uVar20 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar20 >> 0x20)" ( (binary_expression "(ulonglong)uVar20 >> 0x20" (cast_expression "(ulonglong)uVar20" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "aiStack_8c[1] = (int)uVar20;" (assignment_expression "aiStack_8c[1] = (int)uVar20" (subscript_expression "aiStack_8c[1]" identifier [ number_literal ]) = (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iStack_34 = param_3;" (assignment_expression "iStack_34 = param_3" identifier = identifier) ;) (expression_statement "uStack_40 = 0x1bc889;" (assignment_expression "uStack_40 = 0x1bc889" identifier = number_literal) ;) (expression_statement "ppuStack_94 = &__DT_PLTGOT;" (assignment_expression "ppuStack_94 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "piVar15 = aiStack_a4 + 3;" (assignment_expression "piVar15 = aiStack_a4 + 3" identifier = (binary_expression "aiStack_a4 + 3" identifier + number_literal)) ;) (expression_statement "iVar17 = *(int *)(aiStack_70[0] + 0x14);" (assignment_expression "iVar17 = *(int *)(aiStack_70[0] + 0x14)" identifier = (pointer_expression "*(int *)(aiStack_70[0] + 0x14)" * (cast_expression "(int *)(aiStack_70[0] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_70[0] + 0x14)" ( (binary_expression "aiStack_70[0] + 0x14" (subscript_expression "aiStack_70[0]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "aiStack_8c[0] = iVar17;" (assignment_expression "aiStack_8c[0] = iVar17" (subscript_expression "aiStack_8c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piStack_3c = (int *)uVar7;" (assignment_expression "piStack_3c = (int *)uVar7" identifier = (cast_expression "(int *)uVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uStack_38 = uVar18;" (assignment_expression "uStack_38 = uVar18" identifier = identifier) ;) (expression_statement "uStack_30 = uVar16;" (assignment_expression "uStack_30 = uVar16" identifier = identifier) ;) (if_statement "if (iVar17 != 0) {\n    iStack_60 = 0;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    iStack_60 = 0x80000000;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    piVar15 = aiStack_a4 + 3;\n    piVar11 = *(int **)(aiStack_8c[1] + 0x3c);\n    if (piVar11 == (int *)0x0) {\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }\n    uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n    iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14);\n    if (iVar17 != 0) {\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }\n  }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n    iStack_60 = 0;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    iStack_60 = 0x80000000;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    piVar15 = aiStack_a4 + 3;\n    piVar11 = *(int **)(aiStack_8c[1] + 0x3c);\n    if (piVar11 == (int *)0x0) {\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }\n    uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n    iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14);\n    if (iVar17 != 0) {\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }\n  }" { (expression_statement "iStack_60 = 0;" (assignment_expression "iStack_60 = 0" identifier = number_literal) ;) (expression_statement "uStack_5c = 0x7ffffffe;" (assignment_expression "uStack_5c = 0x7ffffffe" identifier = number_literal) ;) (expression_statement "FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1]);" (call_expression "FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1])" identifier (argument_list "(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1])" ( identifier , number_literal , number_literal , (subscript_expression "aiStack_58[0]" identifier [ number_literal ]) , (subscript_expression "aiStack_58[1]" identifier [ number_literal ]) ))) ;) (expression_statement "iStack_60 = 0x80000000;" (assignment_expression "iStack_60 = 0x80000000" identifier = number_literal) ;) (expression_statement "uStack_5c = 0x7ffffffe;" (assignment_expression "uStack_5c = 0x7ffffffe" identifier = number_literal) ;) (expression_statement "FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1]);" (call_expression "FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1])" identifier (argument_list "(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1])" ( identifier , number_literal , number_literal , (subscript_expression "aiStack_58[0]" identifier [ number_literal ]) , (subscript_expression "aiStack_58[1]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar15 = aiStack_a4 + 3;" (assignment_expression "piVar15 = aiStack_a4 + 3" identifier = (binary_expression "aiStack_a4 + 3" identifier + number_literal)) ;) (expression_statement "piVar11 = *(int **)(aiStack_8c[1] + 0x3c);" (assignment_expression "piVar11 = *(int **)(aiStack_8c[1] + 0x3c)" identifier = (pointer_expression "*(int **)(aiStack_8c[1] + 0x3c)" * (cast_expression "(int **)(aiStack_8c[1] + 0x3c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(aiStack_8c[1] + 0x3c)" ( (binary_expression "aiStack_8c[1] + 0x3c" (subscript_expression "aiStack_8c[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (if_statement "if (piVar11 == (int *)0x0) {\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\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 "{\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }" { (expression_statement "piVar15 = aiStack_a4 + 3;" (assignment_expression "piVar15 = aiStack_a4 + 3" identifier = (binary_expression "aiStack_a4 + 3" identifier + number_literal)) ;) (if_statement "if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }" if (parenthesized_expression "(*(int *)(aiStack_8c[1] + 4) == 0)" ( (binary_expression "*(int *)(aiStack_8c[1] + 4) == 0" (pointer_expression "*(int *)(aiStack_8c[1] + 4)" * (cast_expression "(int *)(aiStack_8c[1] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_8c[1] + 4)" ( (binary_expression "aiStack_8c[1] + 4" (subscript_expression "aiStack_8c[1]" identifier [ number_literal ]) + number_literal) )))) == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }" else (compound_statement "{\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }" { (expression_statement "pcStack_90 = FUN_00109500;" (assignment_expression "pcStack_90 = FUN_00109500" identifier = identifier) ;) (expression_statement "puStack_84 = &DAT_005ea7c8;" (assignment_expression "puStack_84 = &DAT_005ea7c8" identifier = (pointer_expression "&DAT_005ea7c8" & identifier)) ;) (do_statement "do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);" do (compound_statement "{\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      }" { (while_statement "while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }" { (expression_statement "piVar2 = (int *)piVar11[1];" (assignment_expression "piVar2 = (int *)piVar11[1]" identifier = (cast_expression "(int *)piVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar17 = piVar2[1];" (assignment_expression "iVar17 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (if_statement "if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;" if (parenthesized_expression "((iVar17 != -1) && ((char)piVar2[3] == '\0'))" ( (binary_expression "(iVar17 != -1) && ((char)piVar2[3] == '\0')" (parenthesized_expression "(iVar17 != -1)" ( (binary_expression "iVar17 != -1" identifier != number_literal) )) && (parenthesized_expression "((char)piVar2[3] == '\0')" ( (binary_expression "(char)piVar2[3] == '\0'" (cast_expression "(char)piVar2[3]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar2[3]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (break_statement "break;" break ;)) (labeled_statement "LAB_001bc940:\n          piVar11 = (int *)*piVar11;" statement_identifier : (expression_statement "piVar11 = (int *)*piVar11;" (assignment_expression "piVar11 = (int *)*piVar11" identifier = (cast_expression "(int *)*piVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;)) (if_statement "if (piVar11 == (int *)0x0) goto LAB_001bcab0;" 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_001bcab0;" goto statement_identifier ;)) })) (expression_statement "iVar19 = *piVar2;" (assignment_expression "iVar19 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "piVar15[-3] = 0;" (assignment_expression "piVar15[-3] = 0" (subscript_expression "piVar15[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[-4] = iVar19;" (assignment_expression "piVar15[-4] = iVar19" (subscript_expression "piVar15[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[-5] = 0;" (assignment_expression "piVar15[-5] = 0" (subscript_expression "piVar15[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[-6] = iVar17;" (assignment_expression "piVar15[-6] = iVar17" (subscript_expression "piVar15[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[-7] = piVar2[2];" (assignment_expression "piVar15[-7] = piVar2[2]" (subscript_expression "piVar15[-7]" identifier [ number_literal ]) = (subscript_expression "piVar2[2]" identifier [ number_literal ])) ;) (expression_statement "piVar15[-8] = piVar15[3];" (assignment_expression "piVar15[-8] = piVar15[3]" (subscript_expression "piVar15[-8]" identifier [ number_literal ]) = (subscript_expression "piVar15[3]" identifier [ number_literal ])) ;) (expression_statement "piVar15[-9] = 0x1bc977;" (assignment_expression "piVar15[-9] = 0x1bc977" (subscript_expression "piVar15[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_002e2ea0();" (call_expression "FUN_002e2ea0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar17 = piVar2[1];" (assignment_expression "iVar17 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }" if (parenthesized_expression "(iVar17 == -1)" ( (binary_expression "iVar17 == -1" identifier == number_literal) )) (compound_statement "{\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }" { (expression_statement "piVar15[-2] = piVar15[1] + -0x170e10;" (assignment_expression "piVar15[-2] = piVar15[1] + -0x170e10" (subscript_expression "piVar15[-2]" identifier [ number_literal ]) = (binary_expression "piVar15[1] + -0x170e10" (subscript_expression "piVar15[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar15[-3] = 0x1f5;" (assignment_expression "piVar15[-3] = 0x1f5" (subscript_expression "piVar15[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[-4] = piVar15[1] + -0x178e16;" (assignment_expression "piVar15[-4] = piVar15[1] + -0x178e16" (subscript_expression "piVar15[-4]" identifier [ number_literal ]) = (binary_expression "piVar15[1] + -0x178e16" (subscript_expression "piVar15[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar15[-5] = 0x1bcf98;" (assignment_expression "piVar15[-5] = 0x1bcf98" (subscript_expression "piVar15[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "piVar3 = (int *)piVar2[2];" (assignment_expression "piVar3 = (int *)piVar2[2]" identifier = (cast_expression "(int *)piVar2[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[2]" identifier [ number_literal ]))) ;) (expression_statement "iVar19 = *piVar2;" (assignment_expression "iVar19 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "pcVar4 = *(code **)(*piVar3 + 0xb0);" (assignment_expression "pcVar4 = *(code **)(*piVar3 + 0xb0)" identifier = (pointer_expression "*(code **)(*piVar3 + 0xb0)" * (cast_expression "(code **)(*piVar3 + 0xb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xb0)" ( (binary_expression "*piVar3 + 0xb0" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }" if (parenthesized_expression "(pcVar4 == (code *)piVar15[2])" ( (binary_expression "pcVar4 == (code *)piVar15[2]" identifier == (cast_expression "(code *)piVar15[2]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar15[2]" identifier [ number_literal ]))) )) (compound_statement "{\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }" { (expression_statement "piVar15[0xf] = iVar19;" (assignment_expression "piVar15[0xf] = iVar19" (subscript_expression "piVar15[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[0xe] = iVar17;" (assignment_expression "piVar15[0xe] = iVar17" (subscript_expression "piVar15[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[0x10] = 0;" (assignment_expression "piVar15[0x10] = 0" (subscript_expression "piVar15[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[-2] = (int)(piVar15 + 0xe);" (assignment_expression "piVar15[-2] = (int)(piVar15 + 0xe)" (subscript_expression "piVar15[-2]" identifier [ number_literal ]) = (cast_expression "(int)(piVar15 + 0xe)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar15 + 0xe)" ( (binary_expression "piVar15 + 0xe" identifier + number_literal) )))) ;) (expression_statement "piVar15[-3] = (int)(piVar3 + 0x1a);" (assignment_expression "piVar15[-3] = (int)(piVar3 + 0x1a)" (subscript_expression "piVar15[-3]" identifier [ number_literal ]) = (cast_expression "(int)(piVar3 + 0x1a)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar3 + 0x1a)" ( (binary_expression "piVar3 + 0x1a" identifier + number_literal) )))) ;) (expression_statement "piVar15[-4] = (int)(piVar15 + 0xb);" (assignment_expression "piVar15[-4] = (int)(piVar15 + 0xb)" (subscript_expression "piVar15[-4]" identifier [ number_literal ]) = (cast_expression "(int)(piVar15 + 0xb)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar15 + 0xb)" ( (binary_expression "piVar15 + 0xb" identifier + number_literal) )))) ;) (expression_statement "piVar15[-5] = 0x1bc9c1;" (assignment_expression "piVar15[-5] = 0x1bc9c1" (subscript_expression "piVar15[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00109250();" (call_expression "FUN_00109250()" identifier (argument_list "()" ( ))) ;) (if_statement "if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }" if (parenthesized_expression "(piVar15[10] == 0)" ( (binary_expression "piVar15[10] == 0" (subscript_expression "piVar15[10]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }" { (expression_statement "piVar15[-3] = *piVar15 + -0x16f81c;" (assignment_expression "piVar15[-3] = *piVar15 + -0x16f81c" (subscript_expression "piVar15[-3]" identifier [ number_literal ]) = (binary_expression "*piVar15 + -0x16f81c" (pointer_expression "*piVar15" * identifier) + number_literal)) ;) (expression_statement "piVar15[-4] = 0x83c;" (assignment_expression "piVar15[-4] = 0x83c" (subscript_expression "piVar15[-4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[-5] = *piVar15 + -0x19cc7b;" (assignment_expression "piVar15[-5] = *piVar15 + -0x19cc7b" (subscript_expression "piVar15[-5]" identifier [ number_literal ]) = (binary_expression "*piVar15 + -0x19cc7b" (pointer_expression "*piVar15" * identifier) + number_literal)) ;) (expression_statement "piVar15[-6] = 0x1bcf79;" (assignment_expression "piVar15[-6] = 0x1bcf79" (subscript_expression "piVar15[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "piVar3 = *(int **)(piVar15[10] + 0x10);" (assignment_expression "piVar3 = *(int **)(piVar15[10] + 0x10)" identifier = (pointer_expression "*(int **)(piVar15[10] + 0x10)" * (cast_expression "(int **)(piVar15[10] + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar15[10] + 0x10)" ( (binary_expression "piVar15[10] + 0x10" (subscript_expression "piVar15[10]" identifier [ number_literal ]) + number_literal) ))))) ;) (while_statement "while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }" { (if_statement "if (piVar3 == (int *)0x0) goto LAB_001bcf00;" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001bcf00;" goto statement_identifier ;)) (if_statement "if (*piVar3 == 0) break;" if (parenthesized_expression "(*piVar3 == 0)" ( (binary_expression "*piVar3 == 0" (pointer_expression "*piVar3" * identifier) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar3 = (int *)piVar3[2];" (assignment_expression "piVar3 = (int *)piVar3[2]" identifier = (cast_expression "(int *)piVar3[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[2]" identifier [ number_literal ]))) ;) })) (expression_statement "iVar17 = piVar3[1];" (assignment_expression "iVar17 = piVar3[1]" identifier = (subscript_expression "piVar3[1]" identifier [ number_literal ])) ;) (expression_statement "piVar3 = piVar15 + -1;" (assignment_expression "piVar3 = piVar15 + -1" identifier = (binary_expression "piVar15 + -1" identifier + number_literal)) ;) (if_statement "if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }" if (parenthesized_expression "(iVar17 == -1)" ( (binary_expression "iVar17 == -1" identifier == number_literal) )) (compound_statement "{\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }" { (labeled_statement "LAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;" statement_identifier : (expression_statement "piVar15[-3] = *piVar15 + -0x16f81c;" (assignment_expression "piVar15[-3] = *piVar15 + -0x16f81c" (subscript_expression "piVar15[-3]" identifier [ number_literal ]) = (binary_expression "*piVar15 + -0x16f81c" (pointer_expression "*piVar15" * identifier) + number_literal)) ;)) (expression_statement "piVar15[-4] = 0x83e;" (assignment_expression "piVar15[-4] = 0x83e" (subscript_expression "piVar15[-4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[-5] = *piVar15 + -0x19cc7b;" (assignment_expression "piVar15[-5] = *piVar15 + -0x19cc7b" (subscript_expression "piVar15[-5]" identifier [ number_literal ]) = (binary_expression "*piVar15 + -0x19cc7b" (pointer_expression "*piVar15" * identifier) + number_literal)) ;) (expression_statement "piVar15[-6] = 0x1bcf1f;" (assignment_expression "piVar15[-6] = 0x1bcf1f" (subscript_expression "piVar15[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }" else (compound_statement "{\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }" { (expression_statement "piVar15[-4] = 0;" (assignment_expression "piVar15[-4] = 0" (subscript_expression "piVar15[-4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[-5] = iVar19;" (assignment_expression "piVar15[-5] = iVar19" (subscript_expression "piVar15[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[-6] = 0;" (assignment_expression "piVar15[-6] = 0" (subscript_expression "piVar15[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[-7] = iVar17;" (assignment_expression "piVar15[-7] = iVar17" (subscript_expression "piVar15[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[-8] = (int)piVar3;" (assignment_expression "piVar15[-8] = (int)piVar3" (subscript_expression "piVar15[-8]" identifier [ number_literal ]) = (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar15[-9] = 0x1bcd33;" (assignment_expression "piVar15[-9] = 0x1bcd33" (subscript_expression "piVar15[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar17 = (*pcVar4)();" (assignment_expression "iVar17 = (*pcVar4)()" identifier = (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "piVar3 = piVar15;" (assignment_expression "piVar3 = piVar15" identifier = identifier) ;) }))) (expression_statement "piVar15 = piVar3;" (assignment_expression "piVar15 = piVar3" identifier = identifier) ;) (if_statement "if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;" if (parenthesized_expression "((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0))" ( (binary_expression "(*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)" (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0)" ( (binary_expression "*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0xc) + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0xc) + 0x80)" ( (binary_expression "*(int *)((int)piVar15 + 0xc) + 0x80" (pointer_expression "*(int *)((int)piVar15 + 0xc)" * (cast_expression "(int *)((int)piVar15 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0xc)" ( (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)" ( (binary_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x94)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x94" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_001bc940;" goto statement_identifier ;)) (expression_statement "iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);" (assignment_expression "iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8)" identifier = (pointer_expression "*(int *)(**(int **)((int)piVar15 + 0x14) + 8)" * (cast_expression "(int *)(**(int **)((int)piVar15 + 0x14) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)((int)piVar15 + 0x14) + 8)" ( (binary_expression "**(int **)((int)piVar15 + 0x14) + 8" (pointer_expression "**(int **)((int)piVar15 + 0x14)" * (pointer_expression "*(int **)((int)piVar15 + 0x14)" * (cast_expression "(int **)((int)piVar15 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + 0x14)" ( (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) + number_literal) ))))) ;) (if_statement "if (iVar19 == 0) goto LAB_001bcf3e;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001bcf3e;" goto statement_identifier ;)) (if_statement "if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;" if (parenthesized_expression "((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))" ( (binary_expression "(*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0')" (parenthesized_expression "(*(char *)(iVar19 + 0x1a25) == '\0')" ( (binary_expression "*(char *)(iVar19 + 0x1a25) == '\0'" (pointer_expression "*(char *)(iVar19 + 0x1a25)" * (cast_expression "(char *)(iVar19 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1a25)" ( (binary_expression "iVar19 + 0x1a25" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(iVar19 + 0x2931) == '\0')" ( (binary_expression "*(char *)(iVar19 + 0x2931) == '\0'" (pointer_expression "*(char *)(iVar19 + 0x2931)" * (cast_expression "(char *)(iVar19 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2931)" ( (binary_expression "iVar19 + 0x2931" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_001bc940;" goto statement_identifier ;)) (if_statement "if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }" if (parenthesized_expression "(*(char *)((int)piVar2 + 0xd) == '\0')" ( (binary_expression "*(char *)((int)piVar2 + 0xd) == '\0'" (pointer_expression "*(char *)((int)piVar2 + 0xd)" * (cast_expression "(char *)((int)piVar2 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0xd)" ( (binary_expression "(int)piVar2 + 0xd" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }" { (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bca62;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bca62" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" * (cast_expression "(undefined4 *)((int)piVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_001950e0();" (assignment_expression "uVar8 = FUN_001950e0()" identifier = (call_expression "FUN_001950e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar19 = piVar2[1];" (assignment_expression "iVar19 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }" if (parenthesized_expression "(iVar19 == -1)" ( (binary_expression "iVar19 == -1" identifier == number_literal) )) (compound_statement "{\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }" { (labeled_statement "LAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;" statement_identifier : (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" * (cast_expression "(undefined4 *)((int)piVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_001756d0();" (call_expression "FUN_001756d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);" (assignment_expression "uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1])" identifier = (call_expression "CONCAT44(aiStack_70[0],aiStack_8c[1])" identifier (argument_list "(aiStack_70[0],aiStack_8c[1])" ( (subscript_expression "aiStack_70[0]" identifier [ number_literal ]) , (subscript_expression "aiStack_8c[1]" identifier [ number_literal ]) )))) ;) (goto_statement "goto LAB_001bcf9d;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }" else (compound_statement "{\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }" { (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bcd45" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" * (cast_expression "(undefined4 *)((int)piVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_001950e0();" (assignment_expression "uVar8 = FUN_001950e0()" identifier = (call_expression "FUN_001950e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar19 = piVar2[1];" (assignment_expression "iVar19 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar19 == -1) goto LAB_001bcf98;" if (parenthesized_expression "(iVar19 == -1)" ( (binary_expression "iVar19 == -1" identifier == number_literal) )) (goto_statement "goto LAB_001bcf98;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 1;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 1" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }))) (expression_statement "*(undefined4 *)((int)piVar15 + -0x18) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x18) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x18)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x18)" ( (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar15 + -0x1c) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0x1c) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0x1c)" * (cast_expression "(int *)((int)piVar15 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x1c)" ( (binary_expression "(int)piVar15 + -0x1c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x20)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x20)" ( (binary_expression "(int)piVar15 + -0x20" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0xc)" ( (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x24) = 3;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x24) = 3" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x24)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x24)" ( (binary_expression "(int)piVar15 + -0x24" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar15 + -0x28) = iVar19;" (assignment_expression "*(int *)((int)piVar15 + -0x28) = iVar19" (pointer_expression "*(int *)((int)piVar15 + -0x28)" * (cast_expression "(int *)((int)piVar15 + -0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x28)" ( (binary_expression "(int)piVar15 + -0x28" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar15 + -0x2c) = piVar2[2];" (assignment_expression "*(int *)((int)piVar15 + -0x2c) = piVar2[2]" (pointer_expression "*(int *)((int)piVar15 + -0x2c)" * (cast_expression "(int *)((int)piVar15 + -0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x2c)" ( (binary_expression "(int)piVar15 + -0x2c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "piVar2[2]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -0x30)" * (cast_expression "(undefined1 **)((int)piVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -0x30)" ( (binary_expression "(int)piVar15 + -0x30" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x34)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x34)" ( (binary_expression "(int)piVar15 + -0x34" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002d6220();" (call_expression "FUN_002d6220()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -8)" * (cast_expression "(undefined1 **)((int)piVar15 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0xc)" ( (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072fa0();" (call_expression "FUN_00072fa0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar11 = (int *)*piVar11;" (assignment_expression "piVar11 = (int *)*piVar11" identifier = (cast_expression "(int *)*piVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) }) while (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)) )) ;) (labeled_statement "LAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;" statement_identifier : (if_statement "if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;" if (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0)" ( (binary_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 4)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 4)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 4" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_001bcd72;" goto statement_identifier ;))) }))) (expression_statement "uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);" (assignment_expression "uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1])" identifier = (call_expression "CONCAT44(aiStack_70[0],aiStack_8c[1])" identifier (argument_list "(aiStack_70[0],aiStack_8c[1])" ( (subscript_expression "aiStack_70[0]" identifier [ number_literal ]) , (subscript_expression "aiStack_8c[1]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14);" (assignment_expression "iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14)" identifier = (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x28) + 0x14)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0x28) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x28) + 0x14)" ( (binary_expression "*(int *)((int)piVar15 + 0x28) + 0x14" (pointer_expression "*(int *)((int)piVar15 + 0x28)" * (cast_expression "(int *)((int)piVar15 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x28)" ( (binary_expression "(int)piVar15 + 0x28" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar17 != 0) {\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }" { (expression_statement "*(undefined4 *)((int)piVar15 + 0x38) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + 0x38) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + 0x38)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;" (assignment_expression "*(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe" (pointer_expression "*(undefined4 *)((int)piVar15 + 0x3c)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x3c)" ( (binary_expression "(int)piVar15 + 0x3c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x44)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x44)" ( (binary_expression "(int)piVar15 + 0x44" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x40)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x40)" ( (binary_expression "(int)piVar15 + 0x40" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x18)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x18)" ( (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x1c) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x1c)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x1c)" ( (binary_expression "(int)piVar15 + -0x1c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar15 + -0x20) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0x20) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0x20)" * (cast_expression "(int *)((int)piVar15 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x20)" ( (binary_expression "(int)piVar15 + -0x20" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar19 = *(int *)((int)piVar15 + 4);" (assignment_expression "iVar19 = *(int *)((int)piVar15 + 4)" identifier = (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x24)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x24)" ( (binary_expression "(int)piVar15 + -0x24" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar9 = FUN_002e2810();" (assignment_expression "iVar9 = FUN_002e2810()" identifier = (call_expression "FUN_002e2810()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar10 = *(int *)(iVar17 + 0x80);" (assignment_expression "iVar10 = *(int *)(iVar17 + 0x80)" identifier = (pointer_expression "*(int *)(iVar17 + 0x80)" * (cast_expression "(int *)(iVar17 + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x80)" ( (binary_expression "iVar17 + 0x80" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)((int)piVar15 + 0x10);" (assignment_expression "iVar13 = *(int *)((int)piVar15 + 0x10)" identifier = (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(int *)(iVar13 + 0x6c) = iVar9;" (assignment_expression "*(int *)(iVar13 + 0x6c) = iVar9" (pointer_expression "*(int *)(iVar13 + 0x6c)" * (cast_expression "(int *)(iVar13 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x6c)" ( (binary_expression "iVar13 + 0x6c" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }" if (parenthesized_expression "((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0))" ( (binary_expression "(iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)" (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(iVar13 + 0x94) != 0)" ( (binary_expression "*(int *)(iVar13 + 0x94) != 0" (pointer_expression "*(int *)(iVar13 + 0x94)" * (cast_expression "(int *)(iVar13 + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x94)" ( (binary_expression "iVar13 + 0x94" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }" { (expression_statement "iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);" (assignment_expression "iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8)" identifier = (pointer_expression "*(int *)(*(int *)(iVar19 + 0x7c8) + 8)" * (cast_expression "(int *)(*(int *)(iVar19 + 0x7c8) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar19 + 0x7c8) + 8)" ( (binary_expression "*(int *)(iVar19 + 0x7c8) + 8" (pointer_expression "*(int *)(iVar19 + 0x7c8)" * (cast_expression "(int *)(iVar19 + 0x7c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x7c8)" ( (binary_expression "iVar19 + 0x7c8" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }" { (labeled_statement "LAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;" statement_identifier : (expression_statement "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;" (assignment_expression "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8" (pointer_expression "*(int *)((int)piVar15 + -8)" * (cast_expression "(int *)((int)piVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + -0x16f3a8" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;" (assignment_expression "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93" (pointer_expression "*(int *)((int)piVar15 + -0x10)" * (cast_expression "(int *)((int)piVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + -0x1a1d93" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }" if (parenthesized_expression "((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0'))" ( (binary_expression "(*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')" (parenthesized_expression "(*(char *)(iVar19 + 0x1a25) != '\0')" ( (binary_expression "*(char *)(iVar19 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar19 + 0x1a25)" * (cast_expression "(char *)(iVar19 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1a25)" ( (binary_expression "iVar19 + 0x1a25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)(iVar19 + 0x2931) != '\0')" ( (binary_expression "*(char *)(iVar19 + 0x2931) != '\0'" (pointer_expression "*(char *)(iVar19 + 0x2931)" * (cast_expression "(char *)(iVar19 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2931)" ( (binary_expression "iVar19 + 0x2931" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }" { (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" * (cast_expression "(undefined4 *)((int)piVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_001950e0();" (assignment_expression "uVar8 = FUN_001950e0()" identifier = (call_expression "FUN_001950e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" * (cast_expression "(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x6c)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x6c" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)((int)piVar15 + -0x18) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0x18) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0x18)" * (cast_expression "(int *)((int)piVar15 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x18)" ( (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x1c) = 3;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x1c) = 3" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x1c)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x1c)" ( (binary_expression "(int)piVar15 + -0x1c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -0x20)" * (cast_expression "(undefined1 **)((int)piVar15 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -0x20)" ( (binary_expression "(int)piVar15 + -0x20" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x24)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x24)" ( (binary_expression "(int)piVar15 + -0x24" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002d5740();" (call_expression "FUN_002d5740()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -8)" * (cast_expression "(undefined1 **)((int)piVar15 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int *)((int)piVar15 + -0xc) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0xc) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0xc)" * (cast_expression "(int *)((int)piVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072fa0();" (call_expression "FUN_00072fa0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);" (assignment_expression "iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" identifier = (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x6c)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x6c" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;) })) })) (expression_statement "iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);" (assignment_expression "iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4)" identifier = (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 4)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 4)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 4" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;" (assignment_expression "*(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8" (pointer_expression "*(int *)((int)piVar15 + 0x20)" * (cast_expression "(int *)((int)piVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x20)" ( (binary_expression "(int)piVar15 + 0x20" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + 0x7c8" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;" (assignment_expression "*(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24" (pointer_expression "*(int *)((int)piVar15 + 0x24)" * (cast_expression "(int *)((int)piVar15 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x24)" ( (binary_expression "(int)piVar15 + 0x24" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 0x28) + 0x24" (pointer_expression "*(int *)((int)piVar15 + 0x28)" * (cast_expression "(int *)((int)piVar15 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x28)" ( (binary_expression "(int)piVar15 + 0x28" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (while_statement "while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }" while (parenthesized_expression "(iVar19 = iVar19 + -1, 0 < iVar19)" ( (comma_expression "iVar19 = iVar19 + -1, 0 < iVar19" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) , (binary_expression "0 < iVar19" number_literal < identifier)) )) (compound_statement "{\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }" { (expression_statement "*(undefined4 *)((int)piVar15 + 0x38) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + 0x38) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + 0x38)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;" (assignment_expression "*(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe" (pointer_expression "*(undefined4 *)((int)piVar15 + 0x3c)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x3c)" ( (binary_expression "(int)piVar15 + 0x3c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x44)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x44)" ( (binary_expression "(int)piVar15 + 0x44" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x40)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x40)" ( (binary_expression "(int)piVar15 + 0x40" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x18)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x18)" ( (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x1c) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x1c)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x1c)" ( (binary_expression "(int)piVar15 + -0x1c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar15 + -0x20) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0x20) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0x20)" * (cast_expression "(int *)((int)piVar15 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x20)" ( (binary_expression "(int)piVar15 + -0x20" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x24)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x24)" ( (binary_expression "(int)piVar15 + -0x24" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_002e2810();" (assignment_expression "uVar8 = FUN_002e2810()" identifier = (call_expression "FUN_002e2810()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + 8) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + 8) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + 8)" * (cast_expression "(undefined4 *)((int)piVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 8)" ( (binary_expression "(int)piVar15 + 8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }" if (parenthesized_expression "((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))" ( (binary_expression "(*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)" (parenthesized_expression "(*(int *)(iVar17 + 0x80) != 0)" ( (binary_expression "*(int *)(iVar17 + 0x80) != 0" (pointer_expression "*(int *)(iVar17 + 0x80)" * (cast_expression "(int *)(iVar17 + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x80)" ( (binary_expression "iVar17 + 0x80" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)" ( (binary_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x94)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x94" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }" { (expression_statement "iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);" (assignment_expression "iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8)" identifier = (pointer_expression "*(int *)(**(int **)((int)piVar15 + 0x20) + 8)" * (cast_expression "(int *)(**(int **)((int)piVar15 + 0x20) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)((int)piVar15 + 0x20) + 8)" ( (binary_expression "**(int **)((int)piVar15 + 0x20) + 8" (pointer_expression "**(int **)((int)piVar15 + 0x20)" * (pointer_expression "*(int **)((int)piVar15 + 0x20)" * (cast_expression "(int **)((int)piVar15 + 0x20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + 0x20)" ( (binary_expression "(int)piVar15 + 0x20" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) + number_literal) ))))) ;) (if_statement "if (iVar10 == 0) goto LAB_001bcf3e;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001bcf3e;" goto statement_identifier ;)) (if_statement "if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }" if (parenthesized_expression "((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0'))" ( (binary_expression "(*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')" (parenthesized_expression "(*(char *)(iVar10 + 0x1a25) != '\0')" ( (binary_expression "*(char *)(iVar10 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar10 + 0x1a25)" * (cast_expression "(char *)(iVar10 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1a25)" ( (binary_expression "iVar10 + 0x1a25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)(iVar10 + 0x2931) != '\0')" ( (binary_expression "*(char *)(iVar10 + 0x2931) != '\0'" (pointer_expression "*(char *)(iVar10 + 0x2931)" * (cast_expression "(char *)(iVar10 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x2931)" ( (binary_expression "iVar10 + 0x2931" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }" { (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bccc9" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" * (cast_expression "(undefined4 *)((int)piVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_001950e0();" (assignment_expression "uVar8 = FUN_001950e0()" identifier = (call_expression "FUN_001950e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + 0x18) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + 0x18) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + 0x18)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x18)" ( (binary_expression "(int)piVar15 + 0x18" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 8)" * (cast_expression "(undefined4 *)((int)piVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 8)" ( (binary_expression "(int)piVar15 + 8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(int *)((int)piVar15 + -0x18) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0x18) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0x18)" * (cast_expression "(int *)((int)piVar15 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x18)" ( (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x1c) = 3;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x1c) = 3" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x1c)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x1c)" ( (binary_expression "(int)piVar15 + -0x1c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -0x20)" * (cast_expression "(undefined1 **)((int)piVar15 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -0x20)" ( (binary_expression "(int)piVar15 + -0x20" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + 0x14)" * (cast_expression "(undefined1 **)((int)piVar15 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + 0x14)" ( (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x24)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x24)" ( (binary_expression "(int)piVar15 + -0x24" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002d5740();" (call_expression "FUN_002d5740()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar10 = *(int *)((int)piVar15 + 0x18);" (assignment_expression "iVar10 = *(int *)((int)piVar15 + 0x18)" identifier = (pointer_expression "*(int *)((int)piVar15 + 0x18)" * (cast_expression "(int *)((int)piVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x18)" ( (binary_expression "(int)piVar15 + 0x18" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar5 = *(undefined4 **)(iVar10 + 0x38);" (assignment_expression "puVar5 = *(undefined4 **)(iVar10 + 0x38)" identifier = (pointer_expression "*(undefined4 **)(iVar10 + 0x38)" * (cast_expression "(undefined4 **)(iVar10 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x38)" ( (binary_expression "iVar10 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }" if (parenthesized_expression "(puVar5 == *(undefined4 **)(iVar10 + 0x3c))" ( (binary_expression "puVar5 == *(undefined4 **)(iVar10 + 0x3c)" identifier == (pointer_expression "*(undefined4 **)(iVar10 + 0x3c)" * (cast_expression "(undefined4 **)(iVar10 + 0x3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x3c)" ( (binary_expression "iVar10 + 0x3c" identifier + number_literal) ))))) )) (compound_statement "{\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }" { (expression_statement "*(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);" (assignment_expression "*(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14)" (pointer_expression "*(undefined4 *)((int)piVar15 + -8)" * (cast_expression "(undefined4 *)((int)piVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x14)" ( (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 **)((int)piVar15 + -0xc) = puVar5;" (assignment_expression "*(undefined4 **)((int)piVar15 + -0xc) = puVar5" (pointer_expression "*(undefined4 **)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 **)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar15 + 0x14) = iVar10;" (assignment_expression "*(int *)((int)piVar15 + 0x14) = iVar10" (pointer_expression "*(int *)((int)piVar15 + 0x14)" * (cast_expression "(int *)((int)piVar15 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x14)" ( (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;" (assignment_expression "*(int *)((int)piVar15 + -0x10) = iVar10 + 0x34" (pointer_expression "*(int *)((int)piVar15 + -0x10)" * (cast_expression "(int *)((int)piVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar10 + 0x34" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072dc0();" (call_expression "FUN_00072dc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar10 = *(int *)((int)piVar15 + 0x14);" (assignment_expression "iVar10 = *(int *)((int)piVar15 + 0x14)" identifier = (pointer_expression "*(int *)((int)piVar15 + 0x14)" * (cast_expression "(int *)((int)piVar15 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x14)" ( (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar12 = *(undefined4 **)(iVar10 + 0x38);" (assignment_expression "puVar12 = *(undefined4 **)(iVar10 + 0x38)" identifier = (pointer_expression "*(undefined4 **)(iVar10 + 0x38)" * (cast_expression "(undefined4 **)(iVar10 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x38)" ( (binary_expression "iVar10 + 0x38" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }" else (compound_statement "{\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }" { (expression_statement "puVar12 = puVar5 + 6;" (assignment_expression "puVar12 = puVar5 + 6" identifier = (binary_expression "puVar5 + 6" identifier + number_literal)) ;) (expression_statement "*puVar5 = *(undefined4 *)((int)piVar15 + 0x38);" (assignment_expression "*puVar5 = *(undefined4 *)((int)piVar15 + 0x38)" (pointer_expression "*puVar5" * identifier) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x38)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);" (assignment_expression "puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c)" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x3c)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x3c)" ( (binary_expression "(int)piVar15 + 0x3c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);" (assignment_expression "puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40)" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x40)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x40)" ( (binary_expression "(int)piVar15 + 0x40" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);" (assignment_expression "puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44)" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x44)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x44)" ( (binary_expression "(int)piVar15 + 0x44" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);" (assignment_expression "puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48)" (subscript_expression "puVar5[4]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x48)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x48)" ( (binary_expression "(int)piVar15 + 0x48" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);" (assignment_expression "puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c)" (subscript_expression "puVar5[5]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x4c)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x4c)" ( (binary_expression "(int)piVar15 + 0x4c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 **)(iVar10 + 0x38) = puVar12;" (assignment_expression "*(undefined4 **)(iVar10 + 0x38) = puVar12" (pointer_expression "*(undefined4 **)(iVar10 + 0x38)" * (cast_expression "(undefined4 **)(iVar10 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x38)" ( (binary_expression "iVar10 + 0x38" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;" (assignment_expression "iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3" identifier = (binary_expression "(int)puVar12 - *(int *)(iVar10 + 0x34) >> 3" (binary_expression "(int)puVar12 - *(int *)(iVar10 + 0x34)" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(iVar10 + 0x34)" * (cast_expression "(int *)(iVar10 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x34)" ( (binary_expression "iVar10 + 0x34" identifier + number_literal) ))))) >> number_literal)) ;) (if_statement "if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;" if (parenthesized_expression "((*(byte *)(iVar10 + 0x1c) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar10 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar10 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar10 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar10 + 0x1c)" * (cast_expression "(byte *)(iVar10 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001bcfa2;" goto statement_identifier ;)) (expression_statement "*(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;" (assignment_expression "*(int *)(iVar10 + 0xc) = iVar13 * 0x55555558" (pointer_expression "*(int *)(iVar10 + 0xc)" * (cast_expression "(int *)(iVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xc)" ( (binary_expression "iVar10 + 0xc" identifier + number_literal) )))) = (binary_expression "iVar13 * 0x55555558" identifier * number_literal)) ;) (expression_statement "*(undefined4 *)(iVar10 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar10 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar10 + 0x10)" * (cast_expression "(undefined4 *)(iVar10 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x10)" ( (binary_expression "iVar10 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;" (assignment_expression "*(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10" (pointer_expression "*(byte *)(iVar17 + 0x1c)" * (cast_expression "(byte *)(iVar17 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x1c)" ( (binary_expression "iVar17 + 0x1c" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar17 + 0x1c) | 0x10" (pointer_expression "*(byte *)(iVar17 + 0x1c)" * (cast_expression "(byte *)(iVar17 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x1c)" ( (binary_expression "iVar17 + 0x1c" identifier + number_literal) )))) | number_literal)) ;) (if_statement "if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }" if (parenthesized_expression "((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0)" ( (binary_expression "(*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)piVar15 + 0x4b) & 0x10)" ( (binary_expression "*(byte *)((int)piVar15 + 0x4b) & 0x10" (pointer_expression "*(byte *)((int)piVar15 + 0x4b)" * (cast_expression "(byte *)((int)piVar15 + 0x4b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x4b)" ( (binary_expression "(int)piVar15 + 0x4b" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }" { (expression_statement "*(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;" (assignment_expression "*(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1" (pointer_expression "*(int *)(iVar10 + 0x2c)" * (cast_expression "(int *)(iVar10 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x2c)" ( (binary_expression "iVar10 + 0x2c" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar10 + 0x2c) + 1" (pointer_expression "*(int *)(iVar10 + 0x2c)" * (cast_expression "(int *)(iVar10 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x2c)" ( (binary_expression "iVar10 + 0x2c" identifier + number_literal) )))) + number_literal)) ;) })) (expression_statement "iVar10 = *(int *)((int)piVar15 + 0x3c);" (assignment_expression "iVar10 = *(int *)((int)piVar15 + 0x3c)" identifier = (pointer_expression "*(int *)((int)piVar15 + 0x3c)" * (cast_expression "(int *)((int)piVar15 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x3c)" ( (binary_expression "(int)piVar15 + 0x3c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }" if (parenthesized_expression "((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0))" ( (binary_expression "(*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)" (parenthesized_expression "(*(int *)((int)piVar15 + 0x4c) != -4)" ( (binary_expression "*(int *)((int)piVar15 + 0x4c) != -4" (pointer_expression "*(int *)((int)piVar15 + 0x4c)" * (cast_expression "(int *)((int)piVar15 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x4c)" ( (binary_expression "(int)piVar15 + 0x4c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) && (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) ))) )) (compound_statement "{\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }" { (if_statement "if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }" if (parenthesized_expression "(*(int *)(iVar10 + 100) == 0)" ( (binary_expression "*(int *)(iVar10 + 100) == 0" (pointer_expression "*(int *)(iVar10 + 100)" * (cast_expression "(int *)(iVar10 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 100)" ( (binary_expression "iVar10 + 100" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }" { (expression_statement "*(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;" (assignment_expression "*(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1" (pointer_expression "*(int *)(iVar10 + 0x60)" * (cast_expression "(int *)(iVar10 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x60)" ( (binary_expression "iVar10 + 0x60" identifier + number_literal) )))) = (binary_expression "iVar13 * -0x55555555 + -1" (binary_expression "iVar13 * -0x55555555" identifier * number_literal) + number_literal)) ;) })) (expression_statement "*(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;" (assignment_expression "*(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1" (pointer_expression "*(int *)(iVar10 + 100)" * (cast_expression "(int *)(iVar10 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 100)" ( (binary_expression "iVar10 + 100" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar10 + 100) + 1" (pointer_expression "*(int *)(iVar10 + 100)" * (cast_expression "(int *)(iVar10 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 100)" ( (binary_expression "iVar10 + 100" identifier + number_literal) )))) + number_literal)) ;) })) })) })) (expression_statement "iVar10 = iVar9 + 4;" (assignment_expression "iVar10 = iVar9 + 4" identifier = (binary_expression "iVar9 + 4" identifier + number_literal)) ;) (expression_statement "iVar9 = *(int *)((int)piVar15 + 8);" (assignment_expression "iVar9 = *(int *)((int)piVar15 + 8)" identifier = (pointer_expression "*(int *)((int)piVar15 + 8)" * (cast_expression "(int *)((int)piVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 8)" ( (binary_expression "(int)piVar15 + 8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }" if (parenthesized_expression "(iVar9 != iVar10)" ( (binary_expression "iVar9 != iVar10" identifier != identifier) )) (compound_statement "{\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }" { (expression_statement "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;" (assignment_expression "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24" (pointer_expression "*(int *)((int)piVar15 + -8)" * (cast_expression "(int *)((int)piVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + -0x170e24" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0x1739;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0x1739" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;" (assignment_expression "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16" (pointer_expression "*(int *)((int)piVar15 + -0x10)" * (cast_expression "(int *)((int)piVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + -0x178e16" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "*(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);" (assignment_expression "*(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" (pointer_expression "*(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70)" * (cast_expression "(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x70)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x70" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" * (cast_expression "(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x6c)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x6c" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "LAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);" statement_identifier : (expression_statement "puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);" (assignment_expression "puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c)" identifier = (pointer_expression "*(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c)" * (cast_expression "(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x3c)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x3c" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;)) (expression_statement "*(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;" (assignment_expression "*(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8" (pointer_expression "*(int *)((int)piVar15 + 0x14)" * (cast_expression "(int *)((int)piVar15 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x14)" ( (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + 0x7c8" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (do_statement "do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );" do (compound_statement "{\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      }" { (if_statement "if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }" if (parenthesized_expression "(puVar5 == (undefined4 *)0x0)" ( (binary_expression "puVar5 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "iVar17 = puVar5[1];" (assignment_expression "iVar17 = puVar5[1]" identifier = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (if_statement "if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }" if (parenthesized_expression "(((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0'))" ( (binary_expression "((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')" (parenthesized_expression "((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2))" ( (binary_expression "(*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)" (parenthesized_expression "(*(int *)(iVar17 + 4) == -1)" ( (binary_expression "*(int *)(iVar17 + 4) == -1" (pointer_expression "*(int *)(iVar17 + 4)" * (cast_expression "(int *)(iVar17 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 4)" ( (binary_expression "iVar17 + 4" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)" ( (comma_expression "iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2" (assignment_expression "iVar19 = *(int *)(iVar17 + 8)" identifier = (pointer_expression "*(int *)(iVar17 + 8)" * (cast_expression "(int *)(iVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 8)" ( (binary_expression "iVar17 + 8" identifier + number_literal) ))))) , (binary_expression "*(int *)(iVar19 + 0x4c) == 2" (pointer_expression "*(int *)(iVar19 + 0x4c)" * (cast_expression "(int *)(iVar19 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x4c)" ( (binary_expression "iVar19 + 0x4c" identifier + number_literal) )))) == number_literal)) ))) )) && (parenthesized_expression "(*(char *)(iVar17 + 0xc) == '\0')" ( (binary_expression "*(char *)(iVar17 + 0xc) == '\0'" (pointer_expression "*(char *)(iVar17 + 0xc)" * (cast_expression "(char *)(iVar17 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0xc)" ( (binary_expression "iVar17 + 0xc" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }" { (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }" if (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0)" ( (binary_expression "*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0xc) + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0xc) + 0x80)" ( (binary_expression "*(int *)((int)piVar15 + 0xc) + 0x80" (pointer_expression "*(int *)((int)piVar15 + 0xc)" * (cast_expression "(int *)((int)piVar15 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0xc)" ( (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }" { (expression_statement "iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);" (assignment_expression "iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" identifier = (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x94)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x94" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)((int)piVar15 + 8) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + 8) = iVar17" (pointer_expression "*(int *)((int)piVar15 + 8)" * (cast_expression "(int *)((int)piVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 8)" ( (binary_expression "(int)piVar15 + 8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar17 = iVar17 + 3;" (assignment_expression "iVar17 = iVar17 + 3" identifier = (binary_expression "iVar17 + 3" identifier + number_literal)) ;) })) (expression_statement "*(int *)((int)piVar15 + -8) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -8) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -8)" * (cast_expression "(int *)((int)piVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar15 + -0xc) = iVar19;" (assignment_expression "*(int *)((int)piVar15 + -0xc) = iVar19" (pointer_expression "*(int *)((int)piVar15 + -0xc)" * (cast_expression "(int *)((int)piVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0xc)" ( (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar8 = *(undefined4 *)((int)piVar15 + 4);" (assignment_expression "uVar8 = *(undefined4 *)((int)piVar15 + 4)" identifier = (pointer_expression "*(undefined4 *)((int)piVar15 + 4)" * (cast_expression "(undefined4 *)((int)piVar15 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "cVar6 = FUN_002e2990();" (assignment_expression "cVar6 = FUN_002e2990()" identifier = (call_expression "FUN_002e2990()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }" { (expression_statement "piVar11 = (int *)(iVar19 + 0x1c);" (assignment_expression "piVar11 = (int *)(iVar19 + 0x1c)" identifier = (cast_expression "(int *)(iVar19 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1c)" ( (binary_expression "iVar19 + 0x1c" identifier + number_literal) )))) ;) (while_statement "while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }" while (parenthesized_expression "(iVar17 != *piVar11)" ( (binary_expression "iVar17 != *piVar11" identifier != (pointer_expression "*piVar11" * identifier)) )) (compound_statement "{\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }" { (expression_statement "piVar11 = (int *)piVar11[2];" (assignment_expression "piVar11 = (int *)piVar11[2]" identifier = (cast_expression "(int *)piVar11[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[2]" identifier [ number_literal ]))) ;) (if_statement "if (piVar11 == (int *)0x0) goto LAB_001bcdfb;" 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_001bcdfb;" goto statement_identifier ;)) })) (expression_statement "uVar7 = piVar11[1];" (assignment_expression "uVar7 = piVar11[1]" identifier = (subscript_expression "piVar11[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }" if (parenthesized_expression "(uVar7 == 0xffffffff)" ( (binary_expression "uVar7 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }" { (labeled_statement "LAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;" statement_identifier : (expression_statement "*(undefined4 *)((int)piVar15 + -4) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" * (cast_expression "(undefined4 *)((int)piVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;" (assignment_expression "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0" (pointer_expression "*(int *)((int)piVar15 + -8)" * (cast_expression "(int *)((int)piVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + -0x16f7e0" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0x1b7" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;" (assignment_expression "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20" (pointer_expression "*(int *)((int)piVar15 + -0x10)" * (cast_expression "(int *)((int)piVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + -0x19cc20" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;" (assignment_expression "*(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18" (pointer_expression "*(undefined **)((int)piVar15 + -0x14)" * (cast_expression "(undefined **)((int)piVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_001bce18" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }" if (parenthesized_expression "((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff))" ( (binary_expression "(uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)" (parenthesized_expression "(uVar7 < *(uint *)(iVar19 + 0x50))" ( (binary_expression "uVar7 < *(uint *)(iVar19 + 0x50)" identifier < (pointer_expression "*(uint *)(iVar19 + 0x50)" * (cast_expression "(uint *)(iVar19 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x50)" ( (binary_expression "iVar19 + 0x50" identifier + number_literal) ))))) )) || (parenthesized_expression "(*(uint *)(iVar19 + 0x50) == 0xffffffff)" ( (binary_expression "*(uint *)(iVar19 + 0x50) == 0xffffffff" (pointer_expression "*(uint *)(iVar19 + 0x50)" * (cast_expression "(uint *)(iVar19 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x50)" ( (binary_expression "iVar19 + 0x50" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }" { (expression_statement "*(uint *)(iVar19 + 0x50) = uVar7;" (assignment_expression "*(uint *)(iVar19 + 0x50) = uVar7" (pointer_expression "*(uint *)(iVar19 + 0x50)" * (cast_expression "(uint *)(iVar19 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x50)" ( (binary_expression "iVar19 + 0x50" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }" if (parenthesized_expression "((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))" ( (binary_expression "(*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)" (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0)" ( (binary_expression "*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0xc) + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0xc) + 0x80)" ( (binary_expression "*(int *)((int)piVar15 + 0xc) + 0x80" (pointer_expression "*(int *)((int)piVar15 + 0xc)" * (cast_expression "(int *)((int)piVar15 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0xc)" ( (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)" ( (binary_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" * (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x94)" ( (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x94" (pointer_expression "*(int *)((int)piVar15 + 0x10)" * (cast_expression "(int *)((int)piVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x10)" ( (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }" { (expression_statement "iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);" (assignment_expression "iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8)" identifier = (pointer_expression "*(int *)(**(int **)((int)piVar15 + 0x14) + 8)" * (cast_expression "(int *)(**(int **)((int)piVar15 + 0x14) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)((int)piVar15 + 0x14) + 8)" ( (binary_expression "**(int **)((int)piVar15 + 0x14) + 8" (pointer_expression "**(int **)((int)piVar15 + 0x14)" * (pointer_expression "*(int **)((int)piVar15 + 0x14)" * (cast_expression "(int **)((int)piVar15 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + 0x14)" ( (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) + number_literal) ))))) ;) (if_statement "if (iVar10 == 0) goto LAB_001bcf3e;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001bcf3e;" goto statement_identifier ;)) (if_statement "if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }" if (parenthesized_expression "((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0'))" ( (binary_expression "(*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')" (parenthesized_expression "(*(char *)(iVar10 + 0x1a25) != '\0')" ( (binary_expression "*(char *)(iVar10 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar10 + 0x1a25)" * (cast_expression "(char *)(iVar10 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1a25)" ( (binary_expression "iVar10 + 0x1a25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)(iVar10 + 0x2931) != '\0')" ( (binary_expression "*(char *)(iVar10 + 0x2931) != '\0'" (pointer_expression "*(char *)(iVar10 + 0x2931)" * (cast_expression "(char *)(iVar10 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x2931)" ( (binary_expression "iVar10 + 0x2931" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }" { (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bcea9" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" * (cast_expression "(undefined4 *)((int)piVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_001950e0();" (assignment_expression "uVar8 = FUN_001950e0()" identifier = (call_expression "FUN_001950e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + 8) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + 8) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + 8)" * (cast_expression "(undefined4 *)((int)piVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 8)" ( (binary_expression "(int)piVar15 + 8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar15 + -0xc) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0xc) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0xc)" * (cast_expression "(int *)((int)piVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar15 + -0x10) = iVar19;" (assignment_expression "*(int *)((int)piVar15 + -0x10) = iVar19" (pointer_expression "*(int *)((int)piVar15 + -0x10)" * (cast_expression "(int *)((int)piVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_0008fe50();" (assignment_expression "uVar8 = FUN_0008fe50()" identifier = (call_expression "FUN_0008fe50()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" * (cast_expression "(undefined4 *)((int)piVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -8) = 1;" (assignment_expression "*(undefined4 *)((int)piVar15 + -8) = 1" (pointer_expression "*(undefined4 *)((int)piVar15 + -8)" * (cast_expression "(undefined4 *)((int)piVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar8 = *(undefined4 *)((int)piVar15 + 0xc);" (assignment_expression "uVar8 = *(undefined4 *)((int)piVar15 + 0xc)" identifier = (pointer_expression "*(undefined4 *)((int)piVar15 + 0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0xc)" ( (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x18) = 3;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x18) = 3" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x18)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x18)" ( (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar15 + -0x1c) = iVar19;" (assignment_expression "*(int *)((int)piVar15 + -0x1c) = iVar19" (pointer_expression "*(int *)((int)piVar15 + -0x1c)" * (cast_expression "(int *)((int)piVar15 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x1c)" ( (binary_expression "(int)piVar15 + -0x1c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -0x20)" * (cast_expression "(undefined1 **)((int)piVar15 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -0x20)" ( (binary_expression "(int)piVar15 + -0x20" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x24)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x24)" ( (binary_expression "(int)piVar15 + -0x24" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002d6080();" (call_expression "FUN_002d6080()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -8)" * (cast_expression "(undefined1 **)((int)piVar15 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x38)" ( (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 8)" * (cast_expression "(undefined4 *)((int)piVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 8)" ( (binary_expression "(int)piVar15 + 8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072fa0();" (call_expression "FUN_00072fa0()" identifier (argument_list "()" ( ))) ;) })) })) })) })) (expression_statement "puVar5 = (undefined4 *)*puVar5;" (assignment_expression "puVar5 = (undefined4 *)*puVar5" identifier = (cast_expression "(undefined4 *)*puVar5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (labeled_statement "LAB_001bcf9d:\n  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);" statement_identifier : (expression_statement "aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);" (assignment_expression "aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20)" (subscript_expression "aiStack_70[0]" identifier [ number_literal ]) = (cast_expression "(int)((ulonglong)uVar20 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar20 >> 0x20)" ( (binary_expression "(ulonglong)uVar20 >> 0x20" (cast_expression "(ulonglong)uVar20" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "aiStack_8c[1] = (int)uVar20;" (assignment_expression "aiStack_8c[1] = (int)uVar20" (subscript_expression "aiStack_8c[1]" identifier [ number_literal ]) = (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bcfa2;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bcfa2" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" * (cast_expression "(undefined4 *)((int)piVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001755c0();" (call_expression "FUN_001755c0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_001bcfa2:\n  *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f920;" statement_identifier : (expression_statement "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f920;" (assignment_expression "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f920" (pointer_expression "*(int *)((int)piVar15 + -8)" * (cast_expression "(int *)((int)piVar15 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + -0x16f920" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0x231;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0x231" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0xc)" ( (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cca3;" (assignment_expression "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cca3" (pointer_expression "*(int *)((int)piVar15 + -0x10)" * (cast_expression "(int *)((int)piVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)piVar15 + 4) + -0x19cca3" (pointer_expression "*(int *)((int)piVar15 + 4)" * (cast_expression "(int *)((int)piVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 4)" ( (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined **)((int)piVar15 + -0x14) = &UNK_001bcfc1;" (assignment_expression "*(undefined **)((int)piVar15 + -0x14) = &UNK_001bcfc1" (pointer_expression "*(undefined **)((int)piVar15 + -0x14)" * (cast_expression "(undefined **)((int)piVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_001bcfc1" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' character ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (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 = (binary_expression IDENT | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (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 ( )))) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_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 (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) + LIT) + (binary_expression IDENT * (char_literal ' escape_sequence ')))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' character ')) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) + LIT) + (binary_expression IDENT * (char_literal ' escape_sequence ')))) ;) }))) (return_statement return ;) })) (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 { (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) )))) & LIT) )) == LIT) )) (compound_statement { (return_statement return ;) })) (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 { (return_statement return ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) == LIT) )) (compound_statement { (return_statement return ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) ))) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (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 IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (pointer_expression * IDENT) + LIT)) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT) )))) == LIT) )) || (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT) )))) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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) ))))) + 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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (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 IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (subscript_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 *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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) )))) = 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) ;) }) (else_clause else (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 IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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) )))) = 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 (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 (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) )))) = (subscript_expression IDENT [ LIT ])) ;) (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) )))) = (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 (call_expression IDENT (argument_list ( ))) ;) (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) )))) = (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;))) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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) )))) = 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) )))) = 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 (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 IDENT = (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 IDENT = (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 (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 IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 IDENT + LIT) )))) + 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 *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_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) )))) = 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) )))) = (binary_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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (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 ( (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 (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 (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) )))) = (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) ))))) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (call_expression IDENT (argument_list ( ))) ;) (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) )))) = (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) )))) = 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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (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) ))))) ;) })) })) (expression_statement (assignment_expression IDENT = (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) ))))) ;) (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) )))) = (binary_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) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT)) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression LIT < IDENT)) )) (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) )))) = 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) )))) = 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 (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 * (cast_expression ( (type_descriptor TYPE (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT) )))) != LIT) ))) )) (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) + 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 ( (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 (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 (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 (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (call_expression IDENT (argument_list ( ))) ;) (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) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (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 * (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) )))) = 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) )))) = (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (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 (subscript_expression 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 (subscript_expression 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 (subscript_expression 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 (subscript_expression 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 (subscript_expression 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT)) ;) (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) )))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (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)) ;) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != 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 = (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 (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) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == 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 (binary_expression IDENT * LIT) + 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 = (binary_expression IDENT + LIT)) ;) (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 IDENT != IDENT) )) (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) )))) = (binary_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) )))) = 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) )))) = (binary_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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) (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) )))) = (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) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) ))))) ;)) (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) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (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)) ))) )) && (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 = 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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) ))))) ;) (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 IDENT = (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) )))) = 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 IDENT = (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 ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (subscript_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 *)) ) (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) )))) = (binary_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) )))) = 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) )))) = (binary_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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (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) ))))) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT) )))) != LIT) )) && (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT) )))) != LIT) ))) )) (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) + 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 ( (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 (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 (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) )))) = 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) )))) = 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 * (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) )))) = 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 (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 IDENT = (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 (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (call_expression IDENT (argument_list ( ))) ;) (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) )))) = (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) )))) = (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 (call_expression IDENT (argument_list ( ))) ;) })) })) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( BOOL )) ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) 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 (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (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) )))) = (binary_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) )))) = 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) )))) = (binary_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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void FUN_001bc750(int param_1,int param_2,int param_3)\n\n{\n  byte bVar1;\n  int *piVar2;\n  int *piVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char cVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  int iVar9;\n  int iVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int iVar13;\n  byte bVar14;\n  int *piVar15;\n  uint uVar16;\n  int iVar17;\n  uint uVar18;\n  int iVar19;\n  undefined8 uVar20;\n  int iStackY_bc;\n  int aiStack_a4 [4];\n  undefined **ppuStack_94;\n  code *pcStack_90;\n  int aiStack_8c [2];\n  undefined4 *puStack_84;\n  int aiStack_70 [4];\n  int iStack_60;\n  undefined4 uStack_5c;\n  byte bStack_59;\n  int aiStack_58 [6];\n  undefined4 uStack_40;\n  int *piStack_3c;\n  uint uStack_38;\n  int iStack_34;\n  uint uStack_30;\n  uint local_20;\n  \n  uVar7 = *(uint *)(param_3 + 4);\n  local_20 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n  bVar1 = *(byte *)(param_2 + 0x29);\n  bVar14 = bVar1 >> 2;\n  uVar16 = bVar14 & 0x3c;\n  if (((char)uVar16 == '<') && (uVar16 = local_20, local_20 != 0)) {\n    piVar15 = *(int **)(param_2 + 0x60);\n    uVar7 = local_20 | 1;\n    if (piVar15 != (int *)0x0) {\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }\n    *(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n    *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04';\n    return;\n  }\n  uVar18 = bVar14 & 0x30;\n  if ((char)uVar18 == ' ') {\nLAB_001bc7be:\n    if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }\n    return;\n  }\n  if (*(char *)(param_1 + 0xc) != '\0') {\n    if ((*(byte *)(param_1 + 0xb) & 2) == 0) {\n      return;\n    }\n    if (*(char *)(param_2 + 0x55) == '\0') {\n      return;\n    }\n    goto LAB_001bc7be;\n  }\n  uStack_30 = 0x1bc871;\n  uVar20 = FUN_00175bf0();\n  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);\n  aiStack_8c[1] = (int)uVar20;\n  iStack_34 = param_3;\n  uStack_40 = 0x1bc889;\n  ppuStack_94 = &__DT_PLTGOT;\n  piVar15 = aiStack_a4 + 3;\n  iVar17 = *(int *)(aiStack_70[0] + 0x14);\n  aiStack_8c[0] = iVar17;\n  piStack_3c = (int *)uVar7;\n  uStack_38 = uVar18;\n  uStack_30 = uVar16;\n  if (iVar17 != 0) {\n    iStack_60 = 0;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    iStack_60 = 0x80000000;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    piVar15 = aiStack_a4 + 3;\n    piVar11 = *(int **)(aiStack_8c[1] + 0x3c);\n    if (piVar11 == (int *)0x0) {\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }\n    uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n    iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14);\n    if (iVar17 != 0) {\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }\n  }\nLAB_001bcf9d:\n  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);\n  aiStack_8c[1] = (int)uVar20;\n  *(undefined4 *)((int)piVar15 + -4) = 0x1bcfa2;\n  FUN_001755c0();\nLAB_001bcfa2:\n  *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f920;\n  *(undefined4 *)((int)piVar15 + -0xc) = 0x231;\n  *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cca3;\n                    \n  *(undefined **)((int)piVar15 + -0x14) = &UNK_001bcfc1;\n  FUN_002446e0();\n}" (primitive_type "void") (function_declarator "FUN_001bc750(int param_1,int param_2,int param_3)" (identifier "FUN_001bc750") (parameter_list "(int param_1,int param_2,int param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")"))) (compound_statement "{\n  byte bVar1;\n  int *piVar2;\n  int *piVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char cVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  int iVar9;\n  int iVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int iVar13;\n  byte bVar14;\n  int *piVar15;\n  uint uVar16;\n  int iVar17;\n  uint uVar18;\n  int iVar19;\n  undefined8 uVar20;\n  int iStackY_bc;\n  int aiStack_a4 [4];\n  undefined **ppuStack_94;\n  code *pcStack_90;\n  int aiStack_8c [2];\n  undefined4 *puStack_84;\n  int aiStack_70 [4];\n  int iStack_60;\n  undefined4 uStack_5c;\n  byte bStack_59;\n  int aiStack_58 [6];\n  undefined4 uStack_40;\n  int *piStack_3c;\n  uint uStack_38;\n  int iStack_34;\n  uint uStack_30;\n  uint local_20;\n  \n  uVar7 = *(uint *)(param_3 + 4);\n  local_20 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n  bVar1 = *(byte *)(param_2 + 0x29);\n  bVar14 = bVar1 >> 2;\n  uVar16 = bVar14 & 0x3c;\n  if (((char)uVar16 == '<') && (uVar16 = local_20, local_20 != 0)) {\n    piVar15 = *(int **)(param_2 + 0x60);\n    uVar7 = local_20 | 1;\n    if (piVar15 != (int *)0x0) {\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }\n    *(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n    *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04';\n    return;\n  }\n  uVar18 = bVar14 & 0x30;\n  if ((char)uVar18 == ' ') {\nLAB_001bc7be:\n    if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }\n    return;\n  }\n  if (*(char *)(param_1 + 0xc) != '\0') {\n    if ((*(byte *)(param_1 + 0xb) & 2) == 0) {\n      return;\n    }\n    if (*(char *)(param_2 + 0x55) == '\0') {\n      return;\n    }\n    goto LAB_001bc7be;\n  }\n  uStack_30 = 0x1bc871;\n  uVar20 = FUN_00175bf0();\n  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);\n  aiStack_8c[1] = (int)uVar20;\n  iStack_34 = param_3;\n  uStack_40 = 0x1bc889;\n  ppuStack_94 = &__DT_PLTGOT;\n  piVar15 = aiStack_a4 + 3;\n  iVar17 = *(int *)(aiStack_70[0] + 0x14);\n  aiStack_8c[0] = iVar17;\n  piStack_3c = (int *)uVar7;\n  uStack_38 = uVar18;\n  uStack_30 = uVar16;\n  if (iVar17 != 0) {\n    iStack_60 = 0;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    iStack_60 = 0x80000000;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    piVar15 = aiStack_a4 + 3;\n    piVar11 = *(int **)(aiStack_8c[1] + 0x3c);\n    if (piVar11 == (int *)0x0) {\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }\n    uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n    iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14);\n    if (iVar17 != 0) {\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }\n  }\nLAB_001bcf9d:\n  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);\n  aiStack_8c[1] = (int)uVar20;\n  *(undefined4 *)((int)piVar15 + -4) = 0x1bcfa2;\n  FUN_001755c0();\nLAB_001bcfa2:\n  *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f920;\n  *(undefined4 *)((int)piVar15 + -0xc) = 0x231;\n  *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cca3;\n                    \n  *(undefined **)((int)piVar15 + -0x14) = &UNK_001bcfc1;\n  FUN_002446e0();\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "code *pcVar4;" (type_identifier "code") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "char cVar6;" (primitive_type "char") (identifier "cVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "undefined4 *puVar12;" (type_identifier "undefined4") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "byte bVar14;" (type_identifier "byte") (identifier "bVar14") (; ";")) (declaration "int *piVar15;" (primitive_type "int") (pointer_declarator "*piVar15" (* "*") (identifier "piVar15")) (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "undefined8 uVar20;" (type_identifier "undefined8") (identifier "uVar20") (; ";")) (declaration "int iStackY_bc;" (primitive_type "int") (identifier "iStackY_bc") (; ";")) (declaration "int aiStack_a4 [4];" (primitive_type "int") (array_declarator "aiStack_a4 [4]" (identifier "aiStack_a4") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined **ppuStack_94;" (type_identifier "undefined") (pointer_declarator "**ppuStack_94" (* "*") (pointer_declarator "*ppuStack_94" (* "*") (identifier "ppuStack_94"))) (; ";")) (declaration "code *pcStack_90;" (type_identifier "code") (pointer_declarator "*pcStack_90" (* "*") (identifier "pcStack_90")) (; ";")) (declaration "int aiStack_8c [2];" (primitive_type "int") (array_declarator "aiStack_8c [2]" (identifier "aiStack_8c") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "undefined4 *puStack_84;" (type_identifier "undefined4") (pointer_declarator "*puStack_84" (* "*") (identifier "puStack_84")) (; ";")) (declaration "int aiStack_70 [4];" (primitive_type "int") (array_declarator "aiStack_70 [4]" (identifier "aiStack_70") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int iStack_60;" (primitive_type "int") (identifier "iStack_60") (; ";")) (declaration "undefined4 uStack_5c;" (type_identifier "undefined4") (identifier "uStack_5c") (; ";")) (declaration "byte bStack_59;" (type_identifier "byte") (identifier "bStack_59") (; ";")) (declaration "int aiStack_58 [6];" (primitive_type "int") (array_declarator "aiStack_58 [6]" (identifier "aiStack_58") ([ "[") (number_literal "6") (] "]")) (; ";")) (declaration "undefined4 uStack_40;" (type_identifier "undefined4") (identifier "uStack_40") (; ";")) (declaration "int *piStack_3c;" (primitive_type "int") (pointer_declarator "*piStack_3c" (* "*") (identifier "piStack_3c")) (; ";")) (declaration "uint uStack_38;" (type_identifier "uint") (identifier "uStack_38") (; ";")) (declaration "int iStack_34;" (primitive_type "int") (identifier "iStack_34") (; ";")) (declaration "uint uStack_30;" (type_identifier "uint") (identifier "uStack_30") (; ";")) (declaration "uint local_20;" (type_identifier "uint") (identifier "local_20") (; ";")) (expression_statement "uVar7 = *(uint *)(param_3 + 4);" (assignment_expression "uVar7 = *(uint *)(param_3 + 4)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(param_3 + 4)" (* "*") (cast_expression "(uint *)(param_3 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_20 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;" (assignment_expression "local_20 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (identifier "local_20") (= "=") (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" (( "(") (binary_expression "uVar7 & 0xff0000" (identifier "uVar7") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" (( "(") (binary_expression "uVar7 & 0xff00" (identifier "uVar7") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar7 << 0x18" (identifier "uVar7") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "bVar1 = *(byte *)(param_2 + 0x29);" (assignment_expression "bVar1 = *(byte *)(param_2 + 0x29)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(param_2 + 0x29)" (* "*") (cast_expression "(byte *)(param_2 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x29)" (( "(") (binary_expression "param_2 + 0x29" (identifier "param_2") (+ "+") (number_literal "0x29")) () ")"))))) (; ";")) (expression_statement "bVar14 = bVar1 >> 2;" (assignment_expression "bVar14 = bVar1 >> 2" (identifier "bVar14") (= "=") (binary_expression "bVar1 >> 2" (identifier "bVar1") (>> ">>") (number_literal "2"))) (; ";")) (expression_statement "uVar16 = bVar14 & 0x3c;" (assignment_expression "uVar16 = bVar14 & 0x3c" (identifier "uVar16") (= "=") (binary_expression "bVar14 & 0x3c" (identifier "bVar14") (& "&") (number_literal "0x3c"))) (; ";")) (if_statement "if (((char)uVar16 == '<') && (uVar16 = local_20, local_20 != 0)) {\n    piVar15 = *(int **)(param_2 + 0x60);\n    uVar7 = local_20 | 1;\n    if (piVar15 != (int *)0x0) {\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }\n    *(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n    *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04';\n    return;\n  }" (if "if") (parenthesized_expression "(((char)uVar16 == '<') && (uVar16 = local_20, local_20 != 0))" (( "(") (binary_expression "((char)uVar16 == '<') && (uVar16 = local_20, local_20 != 0)" (parenthesized_expression "((char)uVar16 == '<')" (( "(") (binary_expression "(char)uVar16 == '<'" (cast_expression "(char)uVar16" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar16")) (== "==") (char_literal "'<'" (' "'") (character "<") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(uVar16 = local_20, local_20 != 0)" (( "(") (comma_expression "uVar16 = local_20, local_20 != 0" (assignment_expression "uVar16 = local_20" (identifier "uVar16") (= "=") (identifier "local_20")) (, ",") (binary_expression "local_20 != 0" (identifier "local_20") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    piVar15 = *(int **)(param_2 + 0x60);\n    uVar7 = local_20 | 1;\n    if (piVar15 != (int *)0x0) {\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }\n    *(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n    *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04';\n    return;\n  }" ({ "{") (expression_statement "piVar15 = *(int **)(param_2 + 0x60);" (assignment_expression "piVar15 = *(int **)(param_2 + 0x60)" (identifier "piVar15") (= "=") (pointer_expression "*(int **)(param_2 + 0x60)" (* "*") (cast_expression "(int **)(param_2 + 0x60)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x60)" (( "(") (binary_expression "param_2 + 0x60" (identifier "param_2") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (expression_statement "uVar7 = local_20 | 1;" (assignment_expression "uVar7 = local_20 | 1" (identifier "uVar7") (= "=") (binary_expression "local_20 | 1" (identifier "local_20") (| "|") (number_literal "1"))) (; ";")) (if_statement "if (piVar15 != (int *)0x0) {\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }" (if "if") (parenthesized_expression "(piVar15 != (int *)0x0)" (( "(") (binary_expression "piVar15 != (int *)0x0" (identifier "piVar15") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      uStack_30 = 0x1bc806;\n      uVar7 = FUN_0017c910();\n      uStack_38 = piVar15[1];\n      piStack_3c = (int *)*piVar15;\n      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }\n      *(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      bVar1 = *(byte *)(param_2 + 0x29);\n      bVar14 = bVar1 >> 2;\n    }" ({ "{") (expression_statement "uStack_30 = 0x1bc806;" (assignment_expression "uStack_30 = 0x1bc806" (identifier "uStack_30") (= "=") (number_literal "0x1bc806")) (; ";")) (expression_statement "uVar7 = FUN_0017c910();" (assignment_expression "uVar7 = FUN_0017c910()" (identifier "uVar7") (= "=") (call_expression "FUN_0017c910()" (identifier "FUN_0017c910") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uStack_38 = piVar15[1];" (assignment_expression "uStack_38 = piVar15[1]" (identifier "uStack_38") (= "=") (subscript_expression "piVar15[1]" (identifier "piVar15") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piStack_3c = (int *)*piVar15;" (assignment_expression "piStack_3c = (int *)*piVar15" (identifier "piStack_3c") (= "=") (cast_expression "(int *)*piVar15" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar15" (* "*") (identifier "piVar15")))) (; ";")) (if_statement "if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }\n      else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }" (if "if") (parenthesized_expression "(*(code **)(*piStack_3c + 0x3c) == FUN_00108a70)" (( "(") (binary_expression "*(code **)(*piStack_3c + 0x3c) == FUN_00108a70" (pointer_expression "*(code **)(*piStack_3c + 0x3c)" (* "*") (cast_expression "(code **)(*piStack_3c + 0x3c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piStack_3c + 0x3c)" (( "(") (binary_expression "*piStack_3c + 0x3c" (pointer_expression "*piStack_3c" (* "*") (identifier "piStack_3c")) (+ "+") (number_literal "0x3c")) () ")")))) (== "==") (identifier "FUN_00108a70")) () ")")) (compound_statement "{\n        piStack_3c = piStack_3c + 0x24;\n        uStack_40 = 0x1bc82b;\n        uVar16 = FUN_001089b0();\n      }" ({ "{") (expression_statement "piStack_3c = piStack_3c + 0x24;" (assignment_expression "piStack_3c = piStack_3c + 0x24" (identifier "piStack_3c") (= "=") (binary_expression "piStack_3c + 0x24" (identifier "piStack_3c") (+ "+") (number_literal "0x24"))) (; ";")) (expression_statement "uStack_40 = 0x1bc82b;" (assignment_expression "uStack_40 = 0x1bc82b" (identifier "uStack_40") (= "=") (number_literal "0x1bc82b")) (; ";")) (expression_statement "uVar16 = FUN_001089b0();" (assignment_expression "uVar16 = FUN_001089b0()" (identifier "uVar16") (= "=") (call_expression "FUN_001089b0()" (identifier "FUN_001089b0") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }" (else "else") (compound_statement "{\n        uStack_40 = 0x1bc867;\n        uVar16 = (**(code **)(*piStack_3c + 0x3c))();\n      }" ({ "{") (expression_statement "uStack_40 = 0x1bc867;" (assignment_expression "uStack_40 = 0x1bc867" (identifier "uStack_40") (= "=") (number_literal "0x1bc867")) (; ";")) (expression_statement "uVar16 = (**(code **)(*piStack_3c + 0x3c))();" (assignment_expression "uVar16 = (**(code **)(*piStack_3c + 0x3c))()" (identifier "uVar16") (= "=") (call_expression "(**(code **)(*piStack_3c + 0x3c))()" (parenthesized_expression "(**(code **)(*piStack_3c + 0x3c))" (( "(") (pointer_expression "**(code **)(*piStack_3c + 0x3c)" (* "*") (pointer_expression "*(code **)(*piStack_3c + 0x3c)" (* "*") (cast_expression "(code **)(*piStack_3c + 0x3c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piStack_3c + 0x3c)" (( "(") (binary_expression "*piStack_3c + 0x3c" (pointer_expression "*piStack_3c" (* "*") (identifier "piStack_3c")) (+ "+") (number_literal "0x3c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (expression_statement "*(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;" (assignment_expression "*(uint *)(param_3 + 8) =\n           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (pointer_expression "*(uint *)(param_3 + 8)" (* "*") (cast_expression "(uint *)(param_3 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 8)" (( "(") (binary_expression "param_3 + 8" (identifier "param_3") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" (identifier "uVar16") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" (( "(") (binary_expression "uVar16 & 0xff0000" (identifier "uVar16") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" (( "(") (binary_expression "uVar16 & 0xff00" (identifier "uVar16") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar16 << 0x18" (identifier "uVar16") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "bVar1 = *(byte *)(param_2 + 0x29);" (assignment_expression "bVar1 = *(byte *)(param_2 + 0x29)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(param_2 + 0x29)" (* "*") (cast_expression "(byte *)(param_2 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x29)" (( "(") (binary_expression "param_2 + 0x29" (identifier "param_2") (+ "+") (number_literal "0x29")) () ")"))))) (; ";")) (expression_statement "bVar14 = bVar1 >> 2;" (assignment_expression "bVar14 = bVar1 >> 2" (identifier "bVar14") (= "=") (binary_expression "bVar1 >> 2" (identifier "bVar1") (>> ">>") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "*(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;" (assignment_expression "*(uint *)(param_3 + 4) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (pointer_expression "*(uint *)(param_3 + 4)" (* "*") (cast_expression "(uint *)(param_3 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" (( "(") (binary_expression "uVar7 & 0xff0000" (identifier "uVar7") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" (( "(") (binary_expression "uVar7 & 0xff00" (identifier "uVar7") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar7 << 0x18" (identifier "uVar7") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "*(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04';" (assignment_expression "*(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04'" (pointer_expression "*(byte *)(param_3 + 0xd)" (* "*") (cast_expression "(byte *)(param_3 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xd)" (( "(") (binary_expression "param_3 + 0xd" (identifier "param_3") (+ "+") (number_literal "0xd")) () ")")))) (= "=") (binary_expression "(bVar1 & 3) + 0x10 + bVar14 * '\x04'" (binary_expression "(bVar1 & 3) + 0x10" (parenthesized_expression "(bVar1 & 3)" (( "(") (binary_expression "bVar1 & 3" (identifier "bVar1") (& "&") (number_literal "3")) () ")")) (+ "+") (number_literal "0x10")) (+ "+") (binary_expression "bVar14 * '\x04'" (identifier "bVar14") (* "*") (char_literal "'\x04'" (' "'") (escape_sequence "\x04") (' "'"))))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar18 = bVar14 & 0x30;" (assignment_expression "uVar18 = bVar14 & 0x30" (identifier "uVar18") (= "=") (binary_expression "bVar14 & 0x30" (identifier "bVar14") (& "&") (number_literal "0x30"))) (; ";")) (if_statement "if ((char)uVar18 == ' ') {\nLAB_001bc7be:\n    if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }\n    return;\n  }" (if "if") (parenthesized_expression "((char)uVar18 == ' ')" (( "(") (binary_expression "(char)uVar18 == ' '" (cast_expression "(char)uVar18" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar18")) (== "==") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (compound_statement "{\nLAB_001bc7be:\n    if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }\n    return;\n  }" ({ "{") (labeled_statement "LAB_001bc7be:\n    if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }" (statement_identifier "LAB_001bc7be") (: ":") (if_statement "if (local_20 != 0) {\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }" (if "if") (parenthesized_expression "(local_20 != 0)" (( "(") (binary_expression "local_20 != 0" (identifier "local_20") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;\n      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';\n    }" ({ "{") (expression_statement "*(uint *)(param_3 + 4) = uVar7 | 0x1000000;" (assignment_expression "*(uint *)(param_3 + 4) = uVar7 | 0x1000000" (pointer_expression "*(uint *)(param_3 + 4)" (* "*") (cast_expression "(uint *)(param_3 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "uVar7 | 0x1000000" (identifier "uVar7") (| "|") (number_literal "0x1000000"))) (; ";")) (expression_statement "*(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';" (assignment_expression "*(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04'" (pointer_expression "*(byte *)(param_3 + 0xd)" (* "*") (cast_expression "(byte *)(param_3 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xd)" (( "(") (binary_expression "param_3 + 0xd" (identifier "param_3") (+ "+") (number_literal "0xd")) () ")")))) (= "=") (binary_expression "(bVar1 & 3) + 0x80 + bVar14 * '\x04'" (binary_expression "(bVar1 & 3) + 0x80" (parenthesized_expression "(bVar1 & 3)" (( "(") (binary_expression "bVar1 & 3" (identifier "bVar1") (& "&") (number_literal "3")) () ")")) (+ "+") (number_literal "0x80")) (+ "+") (binary_expression "bVar14 * '\x04'" (identifier "bVar14") (* "*") (char_literal "'\x04'" (' "'") (escape_sequence "\x04") (' "'"))))) (; ";")) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (*(char *)(param_1 + 0xc) != '\0') {\n    if ((*(byte *)(param_1 + 0xb) & 2) == 0) {\n      return;\n    }\n    if (*(char *)(param_2 + 0x55) == '\0') {\n      return;\n    }\n    goto LAB_001bc7be;\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0xc) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0xc) != '\0'" (pointer_expression "*(char *)(param_1 + 0xc)" (* "*") (cast_expression "(char *)(param_1 + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if ((*(byte *)(param_1 + 0xb) & 2) == 0) {\n      return;\n    }\n    if (*(char *)(param_2 + 0x55) == '\0') {\n      return;\n    }\n    goto LAB_001bc7be;\n  }" ({ "{") (if_statement "if ((*(byte *)(param_1 + 0xb) & 2) == 0) {\n      return;\n    }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 0xb) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0xb) & 2) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0xb) & 2)" (( "(") (binary_expression "*(byte *)(param_1 + 0xb) & 2" (pointer_expression "*(byte *)(param_1 + 0xb)" (* "*") (cast_expression "(byte *)(param_1 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb)" (( "(") (binary_expression "param_1 + 0xb" (identifier "param_1") (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (*(char *)(param_2 + 0x55) == '\0') {\n      return;\n    }" (if "if") (parenthesized_expression "(*(char *)(param_2 + 0x55) == '\0')" (( "(") (binary_expression "*(char *)(param_2 + 0x55) == '\0'" (pointer_expression "*(char *)(param_2 + 0x55)" (* "*") (cast_expression "(char *)(param_2 + 0x55)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x55)" (( "(") (binary_expression "param_2 + 0x55" (identifier "param_2") (+ "+") (number_literal "0x55")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (goto_statement "goto LAB_001bc7be;" (goto "goto") (statement_identifier "LAB_001bc7be") (; ";")) (} "}"))) (expression_statement "uStack_30 = 0x1bc871;" (assignment_expression "uStack_30 = 0x1bc871" (identifier "uStack_30") (= "=") (number_literal "0x1bc871")) (; ";")) (expression_statement "uVar20 = FUN_00175bf0();" (assignment_expression "uVar20 = FUN_00175bf0()" (identifier "uVar20") (= "=") (call_expression "FUN_00175bf0()" (identifier "FUN_00175bf0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);" (assignment_expression "aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20)" (subscript_expression "aiStack_70[0]" (identifier "aiStack_70") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(int)((ulonglong)uVar20 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar20 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar20 >> 0x20" (cast_expression "(ulonglong)uVar20" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar20")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "aiStack_8c[1] = (int)uVar20;" (assignment_expression "aiStack_8c[1] = (int)uVar20" (subscript_expression "aiStack_8c[1]" (identifier "aiStack_8c") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)uVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar20"))) (; ";")) (expression_statement "iStack_34 = param_3;" (assignment_expression "iStack_34 = param_3" (identifier "iStack_34") (= "=") (identifier "param_3")) (; ";")) (expression_statement "uStack_40 = 0x1bc889;" (assignment_expression "uStack_40 = 0x1bc889" (identifier "uStack_40") (= "=") (number_literal "0x1bc889")) (; ";")) (expression_statement "ppuStack_94 = &__DT_PLTGOT;" (assignment_expression "ppuStack_94 = &__DT_PLTGOT" (identifier "ppuStack_94") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "piVar15 = aiStack_a4 + 3;" (assignment_expression "piVar15 = aiStack_a4 + 3" (identifier "piVar15") (= "=") (binary_expression "aiStack_a4 + 3" (identifier "aiStack_a4") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "iVar17 = *(int *)(aiStack_70[0] + 0x14);" (assignment_expression "iVar17 = *(int *)(aiStack_70[0] + 0x14)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(aiStack_70[0] + 0x14)" (* "*") (cast_expression "(int *)(aiStack_70[0] + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(aiStack_70[0] + 0x14)" (( "(") (binary_expression "aiStack_70[0] + 0x14" (subscript_expression "aiStack_70[0]" (identifier "aiStack_70") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "aiStack_8c[0] = iVar17;" (assignment_expression "aiStack_8c[0] = iVar17" (subscript_expression "aiStack_8c[0]" (identifier "aiStack_8c") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "piStack_3c = (int *)uVar7;" (assignment_expression "piStack_3c = (int *)uVar7" (identifier "piStack_3c") (= "=") (cast_expression "(int *)uVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar7"))) (; ";")) (expression_statement "uStack_38 = uVar18;" (assignment_expression "uStack_38 = uVar18" (identifier "uStack_38") (= "=") (identifier "uVar18")) (; ";")) (expression_statement "uStack_30 = uVar16;" (assignment_expression "uStack_30 = uVar16" (identifier "uStack_30") (= "=") (identifier "uVar16")) (; ";")) (if_statement "if (iVar17 != 0) {\n    iStack_60 = 0;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    iStack_60 = 0x80000000;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    piVar15 = aiStack_a4 + 3;\n    piVar11 = *(int **)(aiStack_8c[1] + 0x3c);\n    if (piVar11 == (int *)0x0) {\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }\n    uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n    iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14);\n    if (iVar17 != 0) {\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }\n  }" (if "if") (parenthesized_expression "(iVar17 != 0)" (( "(") (binary_expression "iVar17 != 0" (identifier "iVar17") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iStack_60 = 0;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    iStack_60 = 0x80000000;\n    uStack_5c = 0x7ffffffe;\n    FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1]);\n    piVar15 = aiStack_a4 + 3;\n    piVar11 = *(int **)(aiStack_8c[1] + 0x3c);\n    if (piVar11 == (int *)0x0) {\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }\n    uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n    iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14);\n    if (iVar17 != 0) {\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }\n  }" ({ "{") (expression_statement "iStack_60 = 0;" (assignment_expression "iStack_60 = 0" (identifier "iStack_60") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_5c = 0x7ffffffe;" (assignment_expression "uStack_5c = 0x7ffffffe" (identifier "uStack_5c") (= "=") (number_literal "0x7ffffffe")) (; ";")) (expression_statement "FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1]);" (call_expression "FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1])" (identifier "FUN_002e2810") (argument_list "(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1])" (( "(") (identifier "iVar17") (, ",") (number_literal "0") (, ",") (number_literal "0x7ffffffe") (, ",") (subscript_expression "aiStack_58[0]" (identifier "aiStack_58") ([ "[") (number_literal "0") (] "]")) (, ",") (subscript_expression "aiStack_58[1]" (identifier "aiStack_58") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (expression_statement "iStack_60 = 0x80000000;" (assignment_expression "iStack_60 = 0x80000000" (identifier "iStack_60") (= "=") (number_literal "0x80000000")) (; ";")) (expression_statement "uStack_5c = 0x7ffffffe;" (assignment_expression "uStack_5c = 0x7ffffffe" (identifier "uStack_5c") (= "=") (number_literal "0x7ffffffe")) (; ";")) (expression_statement "FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1]);" (call_expression "FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1])" (identifier "FUN_002e2810") (argument_list "(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1])" (( "(") (identifier "iVar17") (, ",") (number_literal "0x80000000") (, ",") (number_literal "0x7ffffffe") (, ",") (subscript_expression "aiStack_58[0]" (identifier "aiStack_58") ([ "[") (number_literal "0") (] "]")) (, ",") (subscript_expression "aiStack_58[1]" (identifier "aiStack_58") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (expression_statement "piVar15 = aiStack_a4 + 3;" (assignment_expression "piVar15 = aiStack_a4 + 3" (identifier "piVar15") (= "=") (binary_expression "aiStack_a4 + 3" (identifier "aiStack_a4") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "piVar11 = *(int **)(aiStack_8c[1] + 0x3c);" (assignment_expression "piVar11 = *(int **)(aiStack_8c[1] + 0x3c)" (identifier "piVar11") (= "=") (pointer_expression "*(int **)(aiStack_8c[1] + 0x3c)" (* "*") (cast_expression "(int **)(aiStack_8c[1] + 0x3c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(aiStack_8c[1] + 0x3c)" (( "(") (binary_expression "aiStack_8c[1] + 0x3c" (subscript_expression "aiStack_8c[1]" (identifier "aiStack_8c") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (if_statement "if (piVar11 == (int *)0x0) {\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\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 "{\n      piVar15 = aiStack_a4 + 3;\n      if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }\n    }" ({ "{") (expression_statement "piVar15 = aiStack_a4 + 3;" (assignment_expression "piVar15 = aiStack_a4 + 3" (identifier "piVar15") (= "=") (binary_expression "aiStack_a4 + 3" (identifier "aiStack_a4") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (*(int *)(aiStack_8c[1] + 4) == 0) {\n        return;\n      }" (if "if") (parenthesized_expression "(*(int *)(aiStack_8c[1] + 4) == 0)" (( "(") (binary_expression "*(int *)(aiStack_8c[1] + 4) == 0" (pointer_expression "*(int *)(aiStack_8c[1] + 4)" (* "*") (cast_expression "(int *)(aiStack_8c[1] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(aiStack_8c[1] + 4)" (( "(") (binary_expression "aiStack_8c[1] + 4" (subscript_expression "aiStack_8c[1]" (identifier "aiStack_8c") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }" (else "else") (compound_statement "{\n      pcStack_90 = FUN_00109500;\n      puStack_84 = &DAT_005ea7c8;\n      do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\nLAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;\n    }" ({ "{") (expression_statement "pcStack_90 = FUN_00109500;" (assignment_expression "pcStack_90 = FUN_00109500" (identifier "pcStack_90") (= "=") (identifier "FUN_00109500")) (; ";")) (expression_statement "puStack_84 = &DAT_005ea7c8;" (assignment_expression "puStack_84 = &DAT_005ea7c8" (identifier "puStack_84") (= "=") (pointer_expression "&DAT_005ea7c8" (& "&") (identifier "DAT_005ea7c8"))) (; ";")) (do_statement "do {\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);" (do "do") (compound_statement "{\n        while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }\n        iVar19 = *piVar2;\n        piVar15[-3] = 0;\n        piVar15[-4] = iVar19;\n        piVar15[-5] = 0;\n        piVar15[-6] = iVar17;\n        piVar15[-7] = piVar2[2];\n        piVar15[-8] = piVar15[3];\n        piVar15[-9] = 0x1bc977;\n        FUN_002e2ea0();\n        iVar17 = piVar2[1];\n        if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }\n        piVar3 = (int *)piVar2[2];\n        iVar19 = *piVar2;\n        pcVar4 = *(code **)(*piVar3 + 0xb0);\n        if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }\n        piVar15 = piVar3;\n        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;\n        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n        if (iVar19 == 0) goto LAB_001bcf3e;\n        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;\n        if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }\n        *(undefined4 *)((int)piVar15 + -0x18) = 0;\n        *(int *)((int)piVar15 + -0x1c) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x24) = 3;\n        *(int *)((int)piVar15 + -0x28) = iVar19;\n        *(int *)((int)piVar15 + -0x2c) = piVar2[2];\n        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;\n        FUN_002d6220();\n        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);\n        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;\n        FUN_00072fa0();\n        piVar11 = (int *)*piVar11;\n      }" ({ "{") (while_statement "while( true ) {\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          piVar2 = (int *)piVar11[1];\n          iVar17 = piVar2[1];\n          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;\nLAB_001bc940:\n          piVar11 = (int *)*piVar11;\n          if (piVar11 == (int *)0x0) goto LAB_001bcab0;\n        }" ({ "{") (expression_statement "piVar2 = (int *)piVar11[1];" (assignment_expression "piVar2 = (int *)piVar11[1]" (identifier "piVar2") (= "=") (cast_expression "(int *)piVar11[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "iVar17 = piVar2[1];" (assignment_expression "iVar17 = piVar2[1]" (identifier "iVar17") (= "=") (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;" (if "if") (parenthesized_expression "((iVar17 != -1) && ((char)piVar2[3] == '\0'))" (( "(") (binary_expression "(iVar17 != -1) && ((char)piVar2[3] == '\0')" (parenthesized_expression "(iVar17 != -1)" (( "(") (binary_expression "iVar17 != -1" (identifier "iVar17") (!= "!=") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "((char)piVar2[3] == '\0')" (( "(") (binary_expression "(char)piVar2[3] == '\0'" (cast_expression "(char)piVar2[3]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_001bc940:\n          piVar11 = (int *)*piVar11;" (statement_identifier "LAB_001bc940") (: ":") (expression_statement "piVar11 = (int *)*piVar11;" (assignment_expression "piVar11 = (int *)*piVar11" (identifier "piVar11") (= "=") (cast_expression "(int *)*piVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")))) (; ";"))) (if_statement "if (piVar11 == (int *)0x0) goto LAB_001bcab0;" (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_001bcab0;" (goto "goto") (statement_identifier "LAB_001bcab0") (; ";"))) (} "}"))) (expression_statement "iVar19 = *piVar2;" (assignment_expression "iVar19 = *piVar2" (identifier "iVar19") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (expression_statement "piVar15[-3] = 0;" (assignment_expression "piVar15[-3] = 0" (subscript_expression "piVar15[-3]" (identifier "piVar15") ([ "[") (number_literal "-3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar15[-4] = iVar19;" (assignment_expression "piVar15[-4] = iVar19" (subscript_expression "piVar15[-4]" (identifier "piVar15") ([ "[") (number_literal "-4") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "piVar15[-5] = 0;" (assignment_expression "piVar15[-5] = 0" (subscript_expression "piVar15[-5]" (identifier "piVar15") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar15[-6] = iVar17;" (assignment_expression "piVar15[-6] = iVar17" (subscript_expression "piVar15[-6]" (identifier "piVar15") ([ "[") (number_literal "-6") (] "]")) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "piVar15[-7] = piVar2[2];" (assignment_expression "piVar15[-7] = piVar2[2]" (subscript_expression "piVar15[-7]" (identifier "piVar15") ([ "[") (number_literal "-7") (] "]")) (= "=") (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "piVar15[-8] = piVar15[3];" (assignment_expression "piVar15[-8] = piVar15[3]" (subscript_expression "piVar15[-8]" (identifier "piVar15") ([ "[") (number_literal "-8") (] "]")) (= "=") (subscript_expression "piVar15[3]" (identifier "piVar15") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "piVar15[-9] = 0x1bc977;" (assignment_expression "piVar15[-9] = 0x1bc977" (subscript_expression "piVar15[-9]" (identifier "piVar15") ([ "[") (number_literal "-9") (] "]")) (= "=") (number_literal "0x1bc977")) (; ";")) (expression_statement "FUN_002e2ea0();" (call_expression "FUN_002e2ea0()" (identifier "FUN_002e2ea0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar17 = piVar2[1];" (assignment_expression "iVar17 = piVar2[1]" (identifier "iVar17") (= "=") (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (iVar17 == -1) {\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }" (if "if") (parenthesized_expression "(iVar17 == -1)" (( "(") (binary_expression "iVar17 == -1" (identifier "iVar17") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n          piVar15[-2] = piVar15[1] + -0x170e10;\n          piVar15[-3] = 0x1f5;\n          piVar15[-4] = piVar15[1] + -0x178e16;\n                    \n          piVar15[-5] = 0x1bcf98;\n          FUN_002446e0();\n        }" ({ "{") (expression_statement "piVar15[-2] = piVar15[1] + -0x170e10;" (assignment_expression "piVar15[-2] = piVar15[1] + -0x170e10" (subscript_expression "piVar15[-2]" (identifier "piVar15") ([ "[") (number_literal "-2") (] "]")) (= "=") (binary_expression "piVar15[1] + -0x170e10" (subscript_expression "piVar15[1]" (identifier "piVar15") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "-0x170e10"))) (; ";")) (expression_statement "piVar15[-3] = 0x1f5;" (assignment_expression "piVar15[-3] = 0x1f5" (subscript_expression "piVar15[-3]" (identifier "piVar15") ([ "[") (number_literal "-3") (] "]")) (= "=") (number_literal "0x1f5")) (; ";")) (expression_statement "piVar15[-4] = piVar15[1] + -0x178e16;" (assignment_expression "piVar15[-4] = piVar15[1] + -0x178e16" (subscript_expression "piVar15[-4]" (identifier "piVar15") ([ "[") (number_literal "-4") (] "]")) (= "=") (binary_expression "piVar15[1] + -0x178e16" (subscript_expression "piVar15[1]" (identifier "piVar15") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "-0x178e16"))) (; ";")) (expression_statement "piVar15[-5] = 0x1bcf98;" (assignment_expression "piVar15[-5] = 0x1bcf98" (subscript_expression "piVar15[-5]" (identifier "piVar15") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x1bcf98")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar3 = (int *)piVar2[2];" (assignment_expression "piVar3 = (int *)piVar2[2]" (identifier "piVar3") (= "=") (cast_expression "(int *)piVar2[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "iVar19 = *piVar2;" (assignment_expression "iVar19 = *piVar2" (identifier "iVar19") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (expression_statement "pcVar4 = *(code **)(*piVar3 + 0xb0);" (assignment_expression "pcVar4 = *(code **)(*piVar3 + 0xb0)" (identifier "pcVar4") (= "=") (pointer_expression "*(code **)(*piVar3 + 0xb0)" (* "*") (cast_expression "(code **)(*piVar3 + 0xb0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar3 + 0xb0)" (( "(") (binary_expression "*piVar3 + 0xb0" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (+ "+") (number_literal "0xb0")) () ")"))))) (; ";")) (if_statement "if (pcVar4 == (code *)piVar15[2]) {\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }\n        else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }" (if "if") (parenthesized_expression "(pcVar4 == (code *)piVar15[2])" (( "(") (binary_expression "pcVar4 == (code *)piVar15[2]" (identifier "pcVar4") (== "==") (cast_expression "(code *)piVar15[2]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar15[2]" (identifier "piVar15") ([ "[") (number_literal "2") (] "]")))) () ")")) (compound_statement "{\n          piVar15[0xf] = iVar19;\n          piVar15[0xe] = iVar17;\n          piVar15[0x10] = 0;\n          piVar15[-2] = (int)(piVar15 + 0xe);\n          piVar15[-3] = (int)(piVar3 + 0x1a);\n          piVar15[-4] = (int)(piVar15 + 0xb);\n          piVar15[-5] = 0x1bc9c1;\n          FUN_00109250();\n          if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }\n          piVar3 = *(int **)(piVar15[10] + 0x10);\n          while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }\n          iVar17 = piVar3[1];\n          piVar3 = piVar15 + -1;\n          if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }\n        }" ({ "{") (expression_statement "piVar15[0xf] = iVar19;" (assignment_expression "piVar15[0xf] = iVar19" (subscript_expression "piVar15[0xf]" (identifier "piVar15") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "piVar15[0xe] = iVar17;" (assignment_expression "piVar15[0xe] = iVar17" (subscript_expression "piVar15[0xe]" (identifier "piVar15") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "piVar15[0x10] = 0;" (assignment_expression "piVar15[0x10] = 0" (subscript_expression "piVar15[0x10]" (identifier "piVar15") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar15[-2] = (int)(piVar15 + 0xe);" (assignment_expression "piVar15[-2] = (int)(piVar15 + 0xe)" (subscript_expression "piVar15[-2]" (identifier "piVar15") ([ "[") (number_literal "-2") (] "]")) (= "=") (cast_expression "(int)(piVar15 + 0xe)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar15 + 0xe)" (( "(") (binary_expression "piVar15 + 0xe" (identifier "piVar15") (+ "+") (number_literal "0xe")) () ")")))) (; ";")) (expression_statement "piVar15[-3] = (int)(piVar3 + 0x1a);" (assignment_expression "piVar15[-3] = (int)(piVar3 + 0x1a)" (subscript_expression "piVar15[-3]" (identifier "piVar15") ([ "[") (number_literal "-3") (] "]")) (= "=") (cast_expression "(int)(piVar3 + 0x1a)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar3 + 0x1a)" (( "(") (binary_expression "piVar3 + 0x1a" (identifier "piVar3") (+ "+") (number_literal "0x1a")) () ")")))) (; ";")) (expression_statement "piVar15[-4] = (int)(piVar15 + 0xb);" (assignment_expression "piVar15[-4] = (int)(piVar15 + 0xb)" (subscript_expression "piVar15[-4]" (identifier "piVar15") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(int)(piVar15 + 0xb)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar15 + 0xb)" (( "(") (binary_expression "piVar15 + 0xb" (identifier "piVar15") (+ "+") (number_literal "0xb")) () ")")))) (; ";")) (expression_statement "piVar15[-5] = 0x1bc9c1;" (assignment_expression "piVar15[-5] = 0x1bc9c1" (subscript_expression "piVar15[-5]" (identifier "piVar15") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x1bc9c1")) (; ";")) (expression_statement "FUN_00109250();" (call_expression "FUN_00109250()" (identifier "FUN_00109250") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (piVar15[10] == 0) {\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }" (if "if") (parenthesized_expression "(piVar15[10] == 0)" (( "(") (binary_expression "piVar15[10] == 0" (subscript_expression "piVar15[10]" (identifier "piVar15") ([ "[") (number_literal "10") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83c;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf79;\n            FUN_002446e0();\n          }" ({ "{") (expression_statement "piVar15[-3] = *piVar15 + -0x16f81c;" (assignment_expression "piVar15[-3] = *piVar15 + -0x16f81c" (subscript_expression "piVar15[-3]" (identifier "piVar15") ([ "[") (number_literal "-3") (] "]")) (= "=") (binary_expression "*piVar15 + -0x16f81c" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (+ "+") (number_literal "-0x16f81c"))) (; ";")) (expression_statement "piVar15[-4] = 0x83c;" (assignment_expression "piVar15[-4] = 0x83c" (subscript_expression "piVar15[-4]" (identifier "piVar15") ([ "[") (number_literal "-4") (] "]")) (= "=") (number_literal "0x83c")) (; ";")) (expression_statement "piVar15[-5] = *piVar15 + -0x19cc7b;" (assignment_expression "piVar15[-5] = *piVar15 + -0x19cc7b" (subscript_expression "piVar15[-5]" (identifier "piVar15") ([ "[") (number_literal "-5") (] "]")) (= "=") (binary_expression "*piVar15 + -0x19cc7b" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (+ "+") (number_literal "-0x19cc7b"))) (; ";")) (expression_statement "piVar15[-6] = 0x1bcf79;" (assignment_expression "piVar15[-6] = 0x1bcf79" (subscript_expression "piVar15[-6]" (identifier "piVar15") ([ "[") (number_literal "-6") (] "]")) (= "=") (number_literal "0x1bcf79")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar3 = *(int **)(piVar15[10] + 0x10);" (assignment_expression "piVar3 = *(int **)(piVar15[10] + 0x10)" (identifier "piVar3") (= "=") (pointer_expression "*(int **)(piVar15[10] + 0x10)" (* "*") (cast_expression "(int **)(piVar15[10] + 0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar15[10] + 0x10)" (( "(") (binary_expression "piVar15[10] + 0x10" (subscript_expression "piVar15[10]" (identifier "piVar15") ([ "[") (number_literal "10") (] "]")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (while_statement "while( true ) {\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            if (piVar3 == (int *)0x0) goto LAB_001bcf00;\n            if (*piVar3 == 0) break;\n            piVar3 = (int *)piVar3[2];\n          }" ({ "{") (if_statement "if (piVar3 == (int *)0x0) goto LAB_001bcf00;" (if "if") (parenthesized_expression "(piVar3 == (int *)0x0)" (( "(") (binary_expression "piVar3 == (int *)0x0" (identifier "piVar3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001bcf00;" (goto "goto") (statement_identifier "LAB_001bcf00") (; ";"))) (if_statement "if (*piVar3 == 0) break;" (if "if") (parenthesized_expression "(*piVar3 == 0)" (( "(") (binary_expression "*piVar3 == 0" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "piVar3 = (int *)piVar3[2];" (assignment_expression "piVar3 = (int *)piVar3[2]" (identifier "piVar3") (= "=") (cast_expression "(int *)piVar3[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar3[2]" (identifier "piVar3") ([ "[") (number_literal "2") (] "]")))) (; ";")) (} "}"))) (expression_statement "iVar17 = piVar3[1];" (assignment_expression "iVar17 = piVar3[1]" (identifier "iVar17") (= "=") (subscript_expression "piVar3[1]" (identifier "piVar3") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar3 = piVar15 + -1;" (assignment_expression "piVar3 = piVar15 + -1" (identifier "piVar3") (= "=") (binary_expression "piVar15 + -1" (identifier "piVar15") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (iVar17 == -1) {\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }" (if "if") (parenthesized_expression "(iVar17 == -1)" (( "(") (binary_expression "iVar17 == -1" (identifier "iVar17") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\nLAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;\n            piVar15[-4] = 0x83e;\n            piVar15[-5] = *piVar15 + -0x19cc7b;\n                    \n            piVar15[-6] = 0x1bcf1f;\n            FUN_002446e0();\n          }" ({ "{") (labeled_statement "LAB_001bcf00:\n            piVar15[-3] = *piVar15 + -0x16f81c;" (statement_identifier "LAB_001bcf00") (: ":") (expression_statement "piVar15[-3] = *piVar15 + -0x16f81c;" (assignment_expression "piVar15[-3] = *piVar15 + -0x16f81c" (subscript_expression "piVar15[-3]" (identifier "piVar15") ([ "[") (number_literal "-3") (] "]")) (= "=") (binary_expression "*piVar15 + -0x16f81c" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (+ "+") (number_literal "-0x16f81c"))) (; ";"))) (expression_statement "piVar15[-4] = 0x83e;" (assignment_expression "piVar15[-4] = 0x83e" (subscript_expression "piVar15[-4]" (identifier "piVar15") ([ "[") (number_literal "-4") (] "]")) (= "=") (number_literal "0x83e")) (; ";")) (expression_statement "piVar15[-5] = *piVar15 + -0x19cc7b;" (assignment_expression "piVar15[-5] = *piVar15 + -0x19cc7b" (subscript_expression "piVar15[-5]" (identifier "piVar15") ([ "[") (number_literal "-5") (] "]")) (= "=") (binary_expression "*piVar15 + -0x19cc7b" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (+ "+") (number_literal "-0x19cc7b"))) (; ";")) (expression_statement "piVar15[-6] = 0x1bcf1f;" (assignment_expression "piVar15[-6] = 0x1bcf1f" (subscript_expression "piVar15[-6]" (identifier "piVar15") ([ "[") (number_literal "-6") (] "]")) (= "=") (number_literal "0x1bcf1f")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }" (else "else") (compound_statement "{\n          piVar15[-4] = 0;\n          piVar15[-5] = iVar19;\n          piVar15[-6] = 0;\n          piVar15[-7] = iVar17;\n          piVar15[-8] = (int)piVar3;\n          piVar15[-9] = 0x1bcd33;\n          iVar17 = (*pcVar4)();\n          piVar3 = piVar15;\n        }" ({ "{") (expression_statement "piVar15[-4] = 0;" (assignment_expression "piVar15[-4] = 0" (subscript_expression "piVar15[-4]" (identifier "piVar15") ([ "[") (number_literal "-4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar15[-5] = iVar19;" (assignment_expression "piVar15[-5] = iVar19" (subscript_expression "piVar15[-5]" (identifier "piVar15") ([ "[") (number_literal "-5") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "piVar15[-6] = 0;" (assignment_expression "piVar15[-6] = 0" (subscript_expression "piVar15[-6]" (identifier "piVar15") ([ "[") (number_literal "-6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar15[-7] = iVar17;" (assignment_expression "piVar15[-7] = iVar17" (subscript_expression "piVar15[-7]" (identifier "piVar15") ([ "[") (number_literal "-7") (] "]")) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "piVar15[-8] = (int)piVar3;" (assignment_expression "piVar15[-8] = (int)piVar3" (subscript_expression "piVar15[-8]" (identifier "piVar15") ([ "[") (number_literal "-8") (] "]")) (= "=") (cast_expression "(int)piVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar3"))) (; ";")) (expression_statement "piVar15[-9] = 0x1bcd33;" (assignment_expression "piVar15[-9] = 0x1bcd33" (subscript_expression "piVar15[-9]" (identifier "piVar15") ([ "[") (number_literal "-9") (] "]")) (= "=") (number_literal "0x1bcd33")) (; ";")) (expression_statement "iVar17 = (*pcVar4)();" (assignment_expression "iVar17 = (*pcVar4)()" (identifier "iVar17") (= "=") (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar3 = piVar15;" (assignment_expression "piVar3 = piVar15" (identifier "piVar3") (= "=") (identifier "piVar15")) (; ";")) (} "}")))) (expression_statement "piVar15 = piVar3;" (assignment_expression "piVar15 = piVar3" (identifier "piVar15") (= "=") (identifier "piVar3")) (; ";")) (if_statement "if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;" (if "if") (parenthesized_expression "((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0))" (( "(") (binary_expression "(*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||\n           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)" (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0)" (( "(") (binary_expression "*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80)" (* "*") (cast_expression "(int *)(*(int *)((int)piVar15 + 0xc) + 0x80)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)piVar15 + 0xc) + 0x80)" (( "(") (binary_expression "*(int *)((int)piVar15 + 0xc) + 0x80" (pointer_expression "*(int *)((int)piVar15 + 0xc)" (* "*") (cast_expression "(int *)((int)piVar15 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0xc)" (( "(") (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "0x80")) () ")")))) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)" (( "(") (binary_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" (* "*") (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x94)" (( "(") (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x94" (pointer_expression "*(int *)((int)piVar15 + 0x10)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x10)" (( "(") (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x94")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_001bc940;" (goto "goto") (statement_identifier "LAB_001bc940") (; ";"))) (expression_statement "iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);" (assignment_expression "iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(**(int **)((int)piVar15 + 0x14) + 8)" (* "*") (cast_expression "(int *)(**(int **)((int)piVar15 + 0x14) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)((int)piVar15 + 0x14) + 8)" (( "(") (binary_expression "**(int **)((int)piVar15 + 0x14) + 8" (pointer_expression "**(int **)((int)piVar15 + 0x14)" (* "*") (pointer_expression "*(int **)((int)piVar15 + 0x14)" (* "*") (cast_expression "(int **)((int)piVar15 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar15 + 0x14)" (( "(") (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x14")) () ")"))))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar19 == 0) goto LAB_001bcf3e;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001bcf3e;" (goto "goto") (statement_identifier "LAB_001bcf3e") (; ";"))) (if_statement "if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))\n        goto LAB_001bc940;" (if "if") (parenthesized_expression "((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))" (( "(") (binary_expression "(*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0')" (parenthesized_expression "(*(char *)(iVar19 + 0x1a25) == '\0')" (( "(") (binary_expression "*(char *)(iVar19 + 0x1a25) == '\0'" (pointer_expression "*(char *)(iVar19 + 0x1a25)" (* "*") (cast_expression "(char *)(iVar19 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x1a25)" (( "(") (binary_expression "iVar19 + 0x1a25" (identifier "iVar19") (+ "+") (number_literal "0x1a25")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(iVar19 + 0x2931) == '\0')" (( "(") (binary_expression "*(char *)(iVar19 + 0x2931) == '\0'" (pointer_expression "*(char *)(iVar19 + 0x2931)" (* "*") (cast_expression "(char *)(iVar19 + 0x2931)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x2931)" (( "(") (binary_expression "iVar19 + 0x2931" (identifier "iVar19") (+ "+") (number_literal "0x2931")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_001bc940;" (goto "goto") (statement_identifier "LAB_001bc940") (; ";"))) (if_statement "if (*(char *)((int)piVar2 + 0xd) == '\0') {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }\n        else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }" (if "if") (parenthesized_expression "(*(char *)((int)piVar2 + 0xd) == '\0')" (( "(") (binary_expression "*(char *)((int)piVar2 + 0xd) == '\0'" (pointer_expression "*(char *)((int)piVar2 + 0xd)" (* "*") (cast_expression "(char *)((int)piVar2 + 0xd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0xd)" (( "(") (binary_expression "(int)piVar2 + 0xd" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0xd")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0;\n        }" ({ "{") (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bca62;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bca62" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -4)" (( "(") (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1bca62")) (; ";")) (expression_statement "uVar8 = FUN_001950e0();" (assignment_expression "uVar8 = FUN_001950e0()" (identifier "uVar8") (= "=") (call_expression "FUN_001950e0()" (identifier "FUN_001950e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar19 = piVar2[1];" (assignment_expression "iVar19 = piVar2[1]" (identifier "iVar19") (= "=") (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (iVar19 == -1) {\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }" (if "if") (parenthesized_expression "(iVar19 == -1)" (( "(") (binary_expression "iVar19 == -1" (identifier "iVar19") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\nLAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;\n            FUN_001756d0();\n            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);\n            goto LAB_001bcf9d;\n          }" ({ "{") (labeled_statement "LAB_001bcf98:\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;" (statement_identifier "LAB_001bcf98") (: ":") (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -4)" (( "(") (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1bcf9d")) (; ";"))) (expression_statement "FUN_001756d0();" (call_expression "FUN_001756d0()" (identifier "FUN_001756d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);" (assignment_expression "uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1])" (identifier "uVar20") (= "=") (call_expression "CONCAT44(aiStack_70[0],aiStack_8c[1])" (identifier "CONCAT44") (argument_list "(aiStack_70[0],aiStack_8c[1])" (( "(") (subscript_expression "aiStack_70[0]" (identifier "aiStack_70") ([ "[") (number_literal "0") (] "]")) (, ",") (subscript_expression "aiStack_8c[1]" (identifier "aiStack_8c") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (goto_statement "goto LAB_001bcf9d;" (goto "goto") (statement_identifier "LAB_001bcf9d") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0xc)" (( "(") (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x10)" (( "(") (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x14)" (( "(") (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }" (else "else") (compound_statement "{\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;\n          uVar8 = FUN_001950e0();\n          iVar19 = piVar2[1];\n          if (iVar19 == -1) goto LAB_001bcf98;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0;\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) = 1;\n        }" ({ "{") (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bcd45" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -4)" (( "(") (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1bcd45")) (; ";")) (expression_statement "uVar8 = FUN_001950e0();" (assignment_expression "uVar8 = FUN_001950e0()" (identifier "uVar8") (= "=") (call_expression "FUN_001950e0()" (identifier "FUN_001950e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar19 = piVar2[1];" (assignment_expression "iVar19 = piVar2[1]" (identifier "iVar19") (= "=") (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (iVar19 == -1) goto LAB_001bcf98;" (if "if") (parenthesized_expression "(iVar19 == -1)" (( "(") (binary_expression "iVar19 == -1" (identifier "iVar19") (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_001bcf98;" (goto "goto") (statement_identifier "LAB_001bcf98") (; ";"))) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0xc)" (( "(") (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x10)" (( "(") (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 1;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 1" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x14)" (( "(") (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")))) (expression_statement "*(undefined4 *)((int)piVar15 + -0x18) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x18) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x18)" (( "(") (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)((int)piVar15 + -0x1c) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0x1c) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0x1c)" (* "*") (cast_expression "(int *)((int)piVar15 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x1c)" (( "(") (binary_expression "(int)piVar15 + -0x1c" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x20)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x20)" (( "(") (binary_expression "(int)piVar15 + -0x20" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)piVar15 + 0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0xc)" (( "(") (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x24) = 3;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x24) = 3" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x24)" (( "(") (binary_expression "(int)piVar15 + -0x24" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "*(int *)((int)piVar15 + -0x28) = iVar19;" (assignment_expression "*(int *)((int)piVar15 + -0x28) = iVar19" (pointer_expression "*(int *)((int)piVar15 + -0x28)" (* "*") (cast_expression "(int *)((int)piVar15 + -0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x28)" (( "(") (binary_expression "(int)piVar15 + -0x28" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "*(int *)((int)piVar15 + -0x2c) = piVar2[2];" (assignment_expression "*(int *)((int)piVar15 + -0x2c) = piVar2[2]" (pointer_expression "*(int *)((int)piVar15 + -0x2c)" (* "*") (cast_expression "(int *)((int)piVar15 + -0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x2c)" (( "(") (binary_expression "(int)piVar15 + -0x2c" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "*(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -0x30)" (* "*") (cast_expression "(undefined1 **)((int)piVar15 + -0x30)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar15 + -0x30)" (( "(") (binary_expression "(int)piVar15 + -0x30" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x38)" (( "(") (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x38")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x34)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x34)" (( "(") (binary_expression "(int)piVar15 + -0x34" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (number_literal "0x1bca94")) (; ";")) (expression_statement "FUN_002d6220();" (call_expression "FUN_002d6220()" (identifier "FUN_002d6220") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -8)" (* "*") (cast_expression "(undefined1 **)((int)piVar15 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar15 + -8)" (( "(") (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x38)" (( "(") (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x38")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0xc)" (( "(") (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)piVar15 + 0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0xc)" (( "(") (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x10)" (( "(") (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x14)" (( "(") (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1bcaa2")) (; ";")) (expression_statement "FUN_00072fa0();" (call_expression "FUN_00072fa0()" (identifier "FUN_00072fa0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar11 = (int *)*piVar11;" (assignment_expression "piVar11 = (int *)*piVar11" (identifier "piVar11") (= "=") (cast_expression "(int *)*piVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")))) (; ";")) (} "}")) (while "while") (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"))) () ")")) (; ";")) (labeled_statement "LAB_001bcab0:\n      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;" (statement_identifier "LAB_001bcab0") (: ":") (if_statement "if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;" (if "if") (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0)" (( "(") (binary_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 4)" (* "*") (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 4)" (( "(") (binary_expression "*(int *)((int)piVar15 + 0x10) + 4" (pointer_expression "*(int *)((int)piVar15 + 0x10)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x10)" (( "(") (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001bcd72;" (goto "goto") (statement_identifier "LAB_001bcd72") (; ";")))) (} "}")))) (expression_statement "uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);" (assignment_expression "uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1])" (identifier "uVar20") (= "=") (call_expression "CONCAT44(aiStack_70[0],aiStack_8c[1])" (identifier "CONCAT44") (argument_list "(aiStack_70[0],aiStack_8c[1])" (( "(") (subscript_expression "aiStack_70[0]" (identifier "aiStack_70") ([ "[") (number_literal "0") (] "]")) (, ",") (subscript_expression "aiStack_8c[1]" (identifier "aiStack_8c") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (expression_statement "iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14);" (assignment_expression "iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x28) + 0x14)" (* "*") (cast_expression "(int *)(*(int *)((int)piVar15 + 0x28) + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)piVar15 + 0x28) + 0x14)" (( "(") (binary_expression "*(int *)((int)piVar15 + 0x28) + 0x14" (pointer_expression "*(int *)((int)piVar15 + 0x28)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x28)" (( "(") (binary_expression "(int)piVar15 + 0x28" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (iVar17 != 0) {\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }" (if "if") (parenthesized_expression "(iVar17 != 0)" (( "(") (binary_expression "iVar17 != 0" (identifier "iVar17") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)((int)piVar15 + 0x38) = 0;\n      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n      *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n      *(int *)((int)piVar15 + -0x20) = iVar17;\n      iVar19 = *(int *)((int)piVar15 + 4);\n      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;\n      iVar9 = FUN_002e2810();\n      iVar10 = *(int *)(iVar17 + 0x80);\n      iVar13 = *(int *)((int)piVar15 + 0x10);\n      *(int *)(iVar13 + 0x6c) = iVar9;\n      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }\n      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);\n      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;\n      while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }\n      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\nLAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);\n      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;\n      do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );\n    }" ({ "{") (expression_statement "*(undefined4 *)((int)piVar15 + 0x38) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + 0x38) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + 0x38)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x38)" (( "(") (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x38")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;" (assignment_expression "*(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe" (pointer_expression "*(undefined4 *)((int)piVar15 + 0x3c)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x3c)" (( "(") (binary_expression "(int)piVar15 + 0x3c" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (number_literal "0x7ffffffe")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x10)" (( "(") (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)piVar15 + 0x44)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x44)" (( "(") (binary_expression "(int)piVar15 + 0x44" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x14)" (( "(") (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)piVar15 + 0x40)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x40)" (( "(") (binary_expression "(int)piVar15 + 0x40" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x18)" (( "(") (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x7ffffffe")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x1c) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x1c)" (( "(") (binary_expression "(int)piVar15 + -0x1c" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)((int)piVar15 + -0x20) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0x20) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0x20)" (* "*") (cast_expression "(int *)((int)piVar15 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x20)" (( "(") (binary_expression "(int)piVar15 + -0x20" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "iVar19 = *(int *)((int)piVar15 + 4);" (assignment_expression "iVar19 = *(int *)((int)piVar15 + 4)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)((int)piVar15 + 4)" (* "*") (cast_expression "(int *)((int)piVar15 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 4)" (( "(") (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x24)" (( "(") (binary_expression "(int)piVar15 + -0x24" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1bcafc")) (; ";")) (expression_statement "iVar9 = FUN_002e2810();" (assignment_expression "iVar9 = FUN_002e2810()" (identifier "iVar9") (= "=") (call_expression "FUN_002e2810()" (identifier "FUN_002e2810") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar10 = *(int *)(iVar17 + 0x80);" (assignment_expression "iVar10 = *(int *)(iVar17 + 0x80)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar17 + 0x80)" (* "*") (cast_expression "(int *)(iVar17 + 0x80)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x80)" (( "(") (binary_expression "iVar17 + 0x80" (identifier "iVar17") (+ "+") (number_literal "0x80")) () ")"))))) (; ";")) (expression_statement "iVar13 = *(int *)((int)piVar15 + 0x10);" (assignment_expression "iVar13 = *(int *)((int)piVar15 + 0x10)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)((int)piVar15 + 0x10)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x10)" (( "(") (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(int *)(iVar13 + 0x6c) = iVar9;" (assignment_expression "*(int *)(iVar13 + 0x6c) = iVar9" (pointer_expression "*(int *)(iVar13 + 0x6c)" (* "*") (cast_expression "(int *)(iVar13 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x6c)" (( "(") (binary_expression "iVar13 + 0x6c" (identifier "iVar13") (+ "+") (number_literal "0x6c")) () ")")))) (= "=") (identifier "iVar9")) (; ";")) (if_statement "if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }" (if "if") (parenthesized_expression "((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0))" (( "(") (binary_expression "(iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)" (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar13 + 0x94) != 0)" (( "(") (binary_expression "*(int *)(iVar13 + 0x94) != 0" (pointer_expression "*(int *)(iVar13 + 0x94)" (* "*") (cast_expression "(int *)(iVar13 + 0x94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x94)" (( "(") (binary_expression "iVar13 + 0x94" (identifier "iVar13") (+ "+") (number_literal "0x94")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);\n        if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }\n        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }\n      }" ({ "{") (expression_statement "iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);" (assignment_expression "iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(*(int *)(iVar19 + 0x7c8) + 8)" (* "*") (cast_expression "(int *)(*(int *)(iVar19 + 0x7c8) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar19 + 0x7c8) + 8)" (( "(") (binary_expression "*(int *)(iVar19 + 0x7c8) + 8" (pointer_expression "*(int *)(iVar19 + 0x7c8)" (* "*") (cast_expression "(int *)(iVar19 + 0x7c8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x7c8)" (( "(") (binary_expression "iVar19 + 0x7c8" (identifier "iVar19") (+ "+") (number_literal "0x7c8")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar19 == 0) {\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;\n          FUN_002446e0();\n        }" ({ "{") (labeled_statement "LAB_001bcf3e:\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;" (statement_identifier "LAB_001bcf3e") (: ":") (expression_statement "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;" (assignment_expression "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8" (pointer_expression "*(int *)((int)piVar15 + -8)" (* "*") (cast_expression "(int *)((int)piVar15 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -8)" (( "(") (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "*(int *)((int)piVar15 + 4) + -0x16f3a8" (pointer_expression "*(int *)((int)piVar15 + 4)" (* "*") (cast_expression "(int *)((int)piVar15 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 4)" (( "(") (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "-0x16f3a8"))) (; ";"))) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0xc)" (( "(") (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;" (assignment_expression "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93" (pointer_expression "*(int *)((int)piVar15 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x10)" (( "(") (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "*(int *)((int)piVar15 + 4) + -0x1a1d93" (pointer_expression "*(int *)((int)piVar15 + 4)" (* "*") (cast_expression "(int *)((int)piVar15 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 4)" (( "(") (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "-0x1a1d93"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x14)" (( "(") (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1bcf5a")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }" (if "if") (parenthesized_expression "((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0'))" (( "(") (binary_expression "(*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')" (parenthesized_expression "(*(char *)(iVar19 + 0x1a25) != '\0')" (( "(") (binary_expression "*(char *)(iVar19 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar19 + 0x1a25)" (* "*") (cast_expression "(char *)(iVar19 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x1a25)" (( "(") (binary_expression "iVar19 + 0x1a25" (identifier "iVar19") (+ "+") (number_literal "0x1a25")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)(iVar19 + 0x2931) != '\0')" (( "(") (binary_expression "*(char *)(iVar19 + 0x2931) != '\0'" (pointer_expression "*(char *)(iVar19 + 0x2931)" (* "*") (cast_expression "(char *)(iVar19 + 0x2931)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x2931)" (( "(") (binary_expression "iVar19 + 0x2931" (identifier "iVar19") (+ "+") (number_literal "0x2931")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;\n          uVar8 = FUN_001950e0();\n          *(undefined4 *)((int)piVar15 + -0x10) = 0;\n          *(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n          *(int *)((int)piVar15 + -0x18) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;\n          FUN_002d5740();\n          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n          *(int *)((int)piVar15 + -0xc) = iVar17;\n          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;\n          FUN_00072fa0();\n          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);\n        }" ({ "{") (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -4)" (( "(") (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1bcb4c")) (; ";")) (expression_statement "uVar8 = FUN_001950e0();" (assignment_expression "uVar8 = FUN_001950e0()" (identifier "uVar8") (= "=") (call_expression "FUN_001950e0()" (identifier "FUN_001950e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x10)" (( "(") (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) =\n               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x14)" (( "(") (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" (* "*") (cast_expression "(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x6c)" (( "(") (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x6c" (pointer_expression "*(int *)((int)piVar15 + 0x10)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x10)" (( "(") (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x6c")) () ")"))))) (; ";")) (expression_statement "*(int *)((int)piVar15 + -0x18) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0x18) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0x18)" (* "*") (cast_expression "(int *)((int)piVar15 + -0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x18)" (( "(") (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x1c) = 3;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x1c) = 3" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x1c)" (( "(") (binary_expression "(int)piVar15 + -0x1c" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "*(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -0x20)" (* "*") (cast_expression "(undefined1 **)((int)piVar15 + -0x20)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar15 + -0x20)" (( "(") (binary_expression "(int)piVar15 + -0x20" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x38)" (( "(") (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x38")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x24)" (( "(") (binary_expression "(int)piVar15 + -0x24" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1bcb6b")) (; ";")) (expression_statement "FUN_002d5740();" (call_expression "FUN_002d5740()" (identifier "FUN_002d5740") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -8)" (* "*") (cast_expression "(undefined1 **)((int)piVar15 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar15 + -8)" (( "(") (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x38)" (( "(") (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x38")) () ")")))) (; ";")) (expression_statement "*(int *)((int)piVar15 + -0xc) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0xc) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0xc)" (* "*") (cast_expression "(int *)((int)piVar15 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0xc)" (( "(") (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x10)" (( "(") (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x14)" (( "(") (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1bcb76")) (; ";")) (expression_statement "FUN_00072fa0();" (call_expression "FUN_00072fa0()" (identifier "FUN_00072fa0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);" (assignment_expression "iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" (* "*") (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x6c)" (( "(") (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x6c" (pointer_expression "*(int *)((int)piVar15 + 0x10)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x10)" (( "(") (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x6c")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);" (assignment_expression "iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 4)" (* "*") (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 4)" (( "(") (binary_expression "*(int *)((int)piVar15 + 0x10) + 4" (pointer_expression "*(int *)((int)piVar15 + 0x10)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x10)" (( "(") (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;" (assignment_expression "*(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8" (pointer_expression "*(int *)((int)piVar15 + 0x20)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x20)" (( "(") (binary_expression "(int)piVar15 + 0x20" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "*(int *)((int)piVar15 + 4) + 0x7c8" (pointer_expression "*(int *)((int)piVar15 + 4)" (* "*") (cast_expression "(int *)((int)piVar15 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 4)" (( "(") (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x7c8"))) (; ";")) (expression_statement "*(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;" (assignment_expression "*(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24" (pointer_expression "*(int *)((int)piVar15 + 0x24)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x24)" (( "(") (binary_expression "(int)piVar15 + 0x24" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x24")) () ")")))) (= "=") (binary_expression "*(int *)((int)piVar15 + 0x28) + 0x24" (pointer_expression "*(int *)((int)piVar15 + 0x28)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x28)" (( "(") (binary_expression "(int)piVar15 + 0x28" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "0x24"))) (; ";")) (while_statement "while (iVar19 = iVar19 + -1, 0 < iVar19) {\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }" (while "while") (parenthesized_expression "(iVar19 = iVar19 + -1, 0 < iVar19)" (( "(") (comma_expression "iVar19 = iVar19 + -1, 0 < iVar19" (assignment_expression "iVar19 = iVar19 + -1" (identifier "iVar19") (= "=") (binary_expression "iVar19 + -1" (identifier "iVar19") (+ "+") (number_literal "-1"))) (, ",") (binary_expression "0 < iVar19" (number_literal "0") (< "<") (identifier "iVar19"))) () ")")) (compound_statement "{\n        *(undefined4 *)((int)piVar15 + 0x38) = 0;\n        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);\n        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);\n        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;\n        *(undefined4 *)((int)piVar15 + -0x1c) = 0;\n        *(int *)((int)piVar15 + -0x20) = iVar17;\n        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;\n        uVar8 = FUN_002e2810();\n        *(undefined4 *)((int)piVar15 + 8) = uVar8;\n        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }\n        iVar10 = iVar9 + 4;\n        iVar9 = *(int *)((int)piVar15 + 8);\n        if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }\n      }" ({ "{") (expression_statement "*(undefined4 *)((int)piVar15 + 0x38) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + 0x38) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + 0x38)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x38)" (( "(") (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x38")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;" (assignment_expression "*(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe" (pointer_expression "*(undefined4 *)((int)piVar15 + 0x3c)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x3c)" (( "(") (binary_expression "(int)piVar15 + 0x3c" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (number_literal "0x7ffffffe")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x10)" (( "(") (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)piVar15 + 0x44)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x44)" (( "(") (binary_expression "(int)piVar15 + 0x44" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x14)" (( "(") (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)piVar15 + 0x40)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x40)" (( "(") (binary_expression "(int)piVar15 + 0x40" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x18)" (( "(") (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x7ffffffe")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x1c) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x1c)" (( "(") (binary_expression "(int)piVar15 + -0x1c" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)((int)piVar15 + -0x20) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0x20) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0x20)" (* "*") (cast_expression "(int *)((int)piVar15 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x20)" (( "(") (binary_expression "(int)piVar15 + -0x20" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x24)" (( "(") (binary_expression "(int)piVar15 + -0x24" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1bcc76")) (; ";")) (expression_statement "uVar8 = FUN_002e2810();" (assignment_expression "uVar8 = FUN_002e2810()" (identifier "uVar8") (= "=") (call_expression "FUN_002e2810()" (identifier "FUN_002e2810") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + 8) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + 8) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + 8)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 8)" (( "(") (binary_expression "(int)piVar15 + 8" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (if_statement "if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))\n        {\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }" (if "if") (parenthesized_expression "((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))" (( "(") (binary_expression "(*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)" (parenthesized_expression "(*(int *)(iVar17 + 0x80) != 0)" (( "(") (binary_expression "*(int *)(iVar17 + 0x80) != 0" (pointer_expression "*(int *)(iVar17 + 0x80)" (* "*") (cast_expression "(int *)(iVar17 + 0x80)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x80)" (( "(") (binary_expression "iVar17 + 0x80" (identifier "iVar17") (+ "+") (number_literal "0x80")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)" (( "(") (binary_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" (* "*") (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x94)" (( "(") (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x94" (pointer_expression "*(int *)((int)piVar15 + 0x10)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x10)" (( "(") (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x94")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);\n          if (iVar10 == 0) goto LAB_001bcf3e;\n          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }\n        }" ({ "{") (expression_statement "iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);" (assignment_expression "iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(**(int **)((int)piVar15 + 0x20) + 8)" (* "*") (cast_expression "(int *)(**(int **)((int)piVar15 + 0x20) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)((int)piVar15 + 0x20) + 8)" (( "(") (binary_expression "**(int **)((int)piVar15 + 0x20) + 8" (pointer_expression "**(int **)((int)piVar15 + 0x20)" (* "*") (pointer_expression "*(int **)((int)piVar15 + 0x20)" (* "*") (cast_expression "(int **)((int)piVar15 + 0x20)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar15 + 0x20)" (( "(") (binary_expression "(int)piVar15 + 0x20" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x20")) () ")"))))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar10 == 0) goto LAB_001bcf3e;" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001bcf3e;" (goto "goto") (statement_identifier "LAB_001bcf3e") (; ";"))) (if_statement "if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }" (if "if") (parenthesized_expression "((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0'))" (( "(") (binary_expression "(*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')" (parenthesized_expression "(*(char *)(iVar10 + 0x1a25) != '\0')" (( "(") (binary_expression "*(char *)(iVar10 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar10 + 0x1a25)" (* "*") (cast_expression "(char *)(iVar10 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x1a25)" (( "(") (binary_expression "iVar10 + 0x1a25" (identifier "iVar10") (+ "+") (number_literal "0x1a25")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)(iVar10 + 0x2931) != '\0')" (( "(") (binary_expression "*(char *)(iVar10 + 0x2931) != '\0'" (pointer_expression "*(char *)(iVar10 + 0x2931)" (* "*") (cast_expression "(char *)(iVar10 + 0x2931)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x2931)" (( "(") (binary_expression "iVar10 + 0x2931" (identifier "iVar10") (+ "+") (number_literal "0x2931")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;\n            uVar8 = FUN_001950e0();\n            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;\n            *(undefined4 *)((int)piVar15 + -0x10) = 0;\n            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);\n            *(int *)((int)piVar15 + -0x18) = iVar17;\n            *(undefined4 *)((int)piVar15 + -0x1c) = 3;\n            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);\n            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;\n            FUN_002d5740();\n            iVar10 = *(int *)((int)piVar15 + 0x18);\n            puVar5 = *(undefined4 **)(iVar10 + 0x38);\n            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }\n            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;\n            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;\n            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;\n            *(undefined4 *)(iVar10 + 0x10) = 0;\n            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;\n            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }\n            iVar10 = *(int *)((int)piVar15 + 0x3c);\n            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }\n          }" ({ "{") (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bccc9" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -4)" (( "(") (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1bccc9")) (; ";")) (expression_statement "uVar8 = FUN_001950e0();" (assignment_expression "uVar8 = FUN_001950e0()" (identifier "uVar8") (= "=") (call_expression "FUN_001950e0()" (identifier "FUN_001950e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + 0x18) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + 0x18) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + 0x18)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x18)" (( "(") (binary_expression "(int)piVar15 + 0x18" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x10)" (( "(") (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x14)" (( "(") (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)piVar15 + 8)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 8)" (( "(") (binary_expression "(int)piVar15 + 8" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(int *)((int)piVar15 + -0x18) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0x18) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0x18)" (* "*") (cast_expression "(int *)((int)piVar15 + -0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x18)" (( "(") (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x1c) = 3;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x1c) = 3" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x1c)" (( "(") (binary_expression "(int)piVar15 + -0x1c" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "*(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -0x20)" (* "*") (cast_expression "(undefined1 **)((int)piVar15 + -0x20)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar15 + -0x20)" (( "(") (binary_expression "(int)piVar15 + -0x20" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x38)" (( "(") (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x38")) () ")")))) (; ";")) (expression_statement "*(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + 0x14)" (* "*") (cast_expression "(undefined1 **)((int)piVar15 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar15 + 0x14)" (( "(") (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x14")) () ")")))) (= "=") (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x38)" (( "(") (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x38")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x24)" (( "(") (binary_expression "(int)piVar15 + -0x24" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1bcceb")) (; ";")) (expression_statement "FUN_002d5740();" (call_expression "FUN_002d5740()" (identifier "FUN_002d5740") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar10 = *(int *)((int)piVar15 + 0x18);" (assignment_expression "iVar10 = *(int *)((int)piVar15 + 0x18)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)((int)piVar15 + 0x18)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x18)" (( "(") (binary_expression "(int)piVar15 + 0x18" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "puVar5 = *(undefined4 **)(iVar10 + 0x38);" (assignment_expression "puVar5 = *(undefined4 **)(iVar10 + 0x38)" (identifier "puVar5") (= "=") (pointer_expression "*(undefined4 **)(iVar10 + 0x38)" (* "*") (cast_expression "(undefined4 **)(iVar10 + 0x38)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar10 + 0x38)" (( "(") (binary_expression "iVar10 + 0x38" (identifier "iVar10") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (if_statement "if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }\n            else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }" (if "if") (parenthesized_expression "(puVar5 == *(undefined4 **)(iVar10 + 0x3c))" (( "(") (binary_expression "puVar5 == *(undefined4 **)(iVar10 + 0x3c)" (identifier "puVar5") (== "==") (pointer_expression "*(undefined4 **)(iVar10 + 0x3c)" (* "*") (cast_expression "(undefined4 **)(iVar10 + 0x3c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar10 + 0x3c)" (( "(") (binary_expression "iVar10 + 0x3c" (identifier "iVar10") (+ "+") (number_literal "0x3c")) () ")"))))) () ")")) (compound_statement "{\n              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);\n              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;\n              *(int *)((int)piVar15 + 0x14) = iVar10;\n              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;\n              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;\n              FUN_00072dc0();\n              iVar10 = *(int *)((int)piVar15 + 0x14);\n              puVar12 = *(undefined4 **)(iVar10 + 0x38);\n            }" ({ "{") (expression_statement "*(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);" (assignment_expression "*(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14)" (pointer_expression "*(undefined4 *)((int)piVar15 + -8)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -8)" (( "(") (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)piVar15 + 0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x14)" (( "(") (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 **)((int)piVar15 + -0xc) = puVar5;" (assignment_expression "*(undefined4 **)((int)piVar15 + -0xc) = puVar5" (pointer_expression "*(undefined4 **)((int)piVar15 + -0xc)" (* "*") (cast_expression "(undefined4 **)((int)piVar15 + -0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar15 + -0xc)" (( "(") (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "puVar5")) (; ";")) (expression_statement "*(int *)((int)piVar15 + 0x14) = iVar10;" (assignment_expression "*(int *)((int)piVar15 + 0x14) = iVar10" (pointer_expression "*(int *)((int)piVar15 + 0x14)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x14)" (( "(") (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "*(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;" (assignment_expression "*(int *)((int)piVar15 + -0x10) = iVar10 + 0x34" (pointer_expression "*(int *)((int)piVar15 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x10)" (( "(") (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "iVar10 + 0x34" (identifier "iVar10") (+ "+") (number_literal "0x34"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x14)" (( "(") (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1bcd14")) (; ";")) (expression_statement "FUN_00072dc0();" (call_expression "FUN_00072dc0()" (identifier "FUN_00072dc0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar10 = *(int *)((int)piVar15 + 0x14);" (assignment_expression "iVar10 = *(int *)((int)piVar15 + 0x14)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)((int)piVar15 + 0x14)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x14)" (( "(") (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "puVar12 = *(undefined4 **)(iVar10 + 0x38);" (assignment_expression "puVar12 = *(undefined4 **)(iVar10 + 0x38)" (identifier "puVar12") (= "=") (pointer_expression "*(undefined4 **)(iVar10 + 0x38)" (* "*") (cast_expression "(undefined4 **)(iVar10 + 0x38)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar10 + 0x38)" (( "(") (binary_expression "iVar10 + 0x38" (identifier "iVar10") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }" (else "else") (compound_statement "{\n              puVar12 = puVar5 + 6;\n              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);\n              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);\n              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);\n              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);\n              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);\n              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);\n              *(undefined4 **)(iVar10 + 0x38) = puVar12;\n            }" ({ "{") (expression_statement "puVar12 = puVar5 + 6;" (assignment_expression "puVar12 = puVar5 + 6" (identifier "puVar12") (= "=") (binary_expression "puVar5 + 6" (identifier "puVar5") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "*puVar5 = *(undefined4 *)((int)piVar15 + 0x38);" (assignment_expression "*puVar5 = *(undefined4 *)((int)piVar15 + 0x38)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (pointer_expression "*(undefined4 *)((int)piVar15 + 0x38)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x38)" (( "(") (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);" (assignment_expression "puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c)" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*(undefined4 *)((int)piVar15 + 0x3c)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x3c)" (( "(") (binary_expression "(int)piVar15 + 0x3c" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);" (assignment_expression "puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40)" (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "*(undefined4 *)((int)piVar15 + 0x40)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x40)" (( "(") (binary_expression "(int)piVar15 + 0x40" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);" (assignment_expression "puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44)" (subscript_expression "puVar5[3]" (identifier "puVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (pointer_expression "*(undefined4 *)((int)piVar15 + 0x44)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x44)" (( "(") (binary_expression "(int)piVar15 + 0x44" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (expression_statement "puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);" (assignment_expression "puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48)" (subscript_expression "puVar5[4]" (identifier "puVar5") ([ "[") (number_literal "4") (] "]")) (= "=") (pointer_expression "*(undefined4 *)((int)piVar15 + 0x48)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0x48)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x48)" (( "(") (binary_expression "(int)piVar15 + 0x48" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (expression_statement "puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);" (assignment_expression "puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c)" (subscript_expression "puVar5[5]" (identifier "puVar5") ([ "[") (number_literal "5") (] "]")) (= "=") (pointer_expression "*(undefined4 *)((int)piVar15 + 0x4c)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0x4c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x4c)" (( "(") (binary_expression "(int)piVar15 + 0x4c" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 **)(iVar10 + 0x38) = puVar12;" (assignment_expression "*(undefined4 **)(iVar10 + 0x38) = puVar12" (pointer_expression "*(undefined4 **)(iVar10 + 0x38)" (* "*") (cast_expression "(undefined4 **)(iVar10 + 0x38)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar10 + 0x38)" (( "(") (binary_expression "iVar10 + 0x38" (identifier "iVar10") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "puVar12")) (; ";")) (} "}")))) (expression_statement "iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;" (assignment_expression "iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3" (identifier "iVar13") (= "=") (binary_expression "(int)puVar12 - *(int *)(iVar10 + 0x34) >> 3" (binary_expression "(int)puVar12 - *(int *)(iVar10 + 0x34)" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (- "-") (pointer_expression "*(int *)(iVar10 + 0x34)" (* "*") (cast_expression "(int *)(iVar10 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x34)" (( "(") (binary_expression "iVar10 + 0x34" (identifier "iVar10") (+ "+") (number_literal "0x34")) () ")"))))) (>> ">>") (number_literal "3"))) (; ";")) (if_statement "if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;" (if "if") (parenthesized_expression "((*(byte *)(iVar10 + 0x1c) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(iVar10 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar10 + 0x1c) & 2)" (( "(") (binary_expression "*(byte *)(iVar10 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar10 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar10 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x1c)" (( "(") (binary_expression "iVar10 + 0x1c" (identifier "iVar10") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001bcfa2;" (goto "goto") (statement_identifier "LAB_001bcfa2") (; ";"))) (expression_statement "*(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;" (assignment_expression "*(int *)(iVar10 + 0xc) = iVar13 * 0x55555558" (pointer_expression "*(int *)(iVar10 + 0xc)" (* "*") (cast_expression "(int *)(iVar10 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0xc)" (( "(") (binary_expression "iVar10 + 0xc" (identifier "iVar10") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "iVar13 * 0x55555558" (identifier "iVar13") (* "*") (number_literal "0x55555558"))) (; ";")) (expression_statement "*(undefined4 *)(iVar10 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar10 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar10 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar10 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x10)" (( "(") (binary_expression "iVar10 + 0x10" (identifier "iVar10") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;" (assignment_expression "*(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10" (pointer_expression "*(byte *)(iVar17 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar17 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x1c)" (( "(") (binary_expression "iVar17 + 0x1c" (identifier "iVar17") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar17 + 0x1c) | 0x10" (pointer_expression "*(byte *)(iVar17 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar17 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x1c)" (( "(") (binary_expression "iVar17 + 0x1c" (identifier "iVar17") (+ "+") (number_literal "0x1c")) () ")")))) (| "|") (number_literal "0x10"))) (; ";")) (if_statement "if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }" (if "if") (parenthesized_expression "((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0)" (( "(") (binary_expression "(*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)piVar15 + 0x4b) & 0x10)" (( "(") (binary_expression "*(byte *)((int)piVar15 + 0x4b) & 0x10" (pointer_expression "*(byte *)((int)piVar15 + 0x4b)" (* "*") (cast_expression "(byte *)((int)piVar15 + 0x4b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x4b)" (( "(") (binary_expression "(int)piVar15 + 0x4b" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x4b")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;\n            }" ({ "{") (expression_statement "*(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;" (assignment_expression "*(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1" (pointer_expression "*(int *)(iVar10 + 0x2c)" (* "*") (cast_expression "(int *)(iVar10 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x2c)" (( "(") (binary_expression "iVar10 + 0x2c" (identifier "iVar10") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (binary_expression "*(int *)(iVar10 + 0x2c) + 1" (pointer_expression "*(int *)(iVar10 + 0x2c)" (* "*") (cast_expression "(int *)(iVar10 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x2c)" (( "(") (binary_expression "iVar10 + 0x2c" (identifier "iVar10") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "iVar10 = *(int *)((int)piVar15 + 0x3c);" (assignment_expression "iVar10 = *(int *)((int)piVar15 + 0x3c)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)((int)piVar15 + 0x3c)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x3c)" (( "(") (binary_expression "(int)piVar15 + 0x3c" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (if_statement "if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }" (if "if") (parenthesized_expression "((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0))" (( "(") (binary_expression "(*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)" (parenthesized_expression "(*(int *)((int)piVar15 + 0x4c) != -4)" (( "(") (binary_expression "*(int *)((int)piVar15 + 0x4c) != -4" (pointer_expression "*(int *)((int)piVar15 + 0x4c)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x4c)" (( "(") (binary_expression "(int)piVar15 + 0x4c" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x4c")) () ")")))) (!= "!=") (number_literal "-4")) () ")")) (&& "&&") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }\n              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;\n            }" ({ "{") (if_statement "if (*(int *)(iVar10 + 100) == 0) {\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }" (if "if") (parenthesized_expression "(*(int *)(iVar10 + 100) == 0)" (( "(") (binary_expression "*(int *)(iVar10 + 100) == 0" (pointer_expression "*(int *)(iVar10 + 100)" (* "*") (cast_expression "(int *)(iVar10 + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 100)" (( "(") (binary_expression "iVar10 + 100" (identifier "iVar10") (+ "+") (number_literal "100")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;\n              }" ({ "{") (expression_statement "*(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;" (assignment_expression "*(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1" (pointer_expression "*(int *)(iVar10 + 0x60)" (* "*") (cast_expression "(int *)(iVar10 + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x60)" (( "(") (binary_expression "iVar10 + 0x60" (identifier "iVar10") (+ "+") (number_literal "0x60")) () ")")))) (= "=") (binary_expression "iVar13 * -0x55555555 + -1" (binary_expression "iVar13 * -0x55555555" (identifier "iVar13") (* "*") (number_literal "-0x55555555")) (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (expression_statement "*(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;" (assignment_expression "*(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1" (pointer_expression "*(int *)(iVar10 + 100)" (* "*") (cast_expression "(int *)(iVar10 + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 100)" (( "(") (binary_expression "iVar10 + 100" (identifier "iVar10") (+ "+") (number_literal "100")) () ")")))) (= "=") (binary_expression "*(int *)(iVar10 + 100) + 1" (pointer_expression "*(int *)(iVar10 + 100)" (* "*") (cast_expression "(int *)(iVar10 + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 100)" (( "(") (binary_expression "iVar10 + 100" (identifier "iVar10") (+ "+") (number_literal "100")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "iVar10 = iVar9 + 4;" (assignment_expression "iVar10 = iVar9 + 4" (identifier "iVar10") (= "=") (binary_expression "iVar9 + 4" (identifier "iVar9") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "iVar9 = *(int *)((int)piVar15 + 8);" (assignment_expression "iVar9 = *(int *)((int)piVar15 + 8)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)((int)piVar15 + 8)" (* "*") (cast_expression "(int *)((int)piVar15 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 8)" (( "(") (binary_expression "(int)piVar15 + 8" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar9 != iVar10) {\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }" (if "if") (parenthesized_expression "(iVar9 != iVar10)" (( "(") (binary_expression "iVar9 != iVar10" (identifier "iVar9") (!= "!=") (identifier "iVar10")) () ")")) (compound_statement "{\n          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;\n          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;\n          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;\n                    \n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;\n          FUN_002446e0();\n        }" ({ "{") (expression_statement "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;" (assignment_expression "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24" (pointer_expression "*(int *)((int)piVar15 + -8)" (* "*") (cast_expression "(int *)((int)piVar15 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -8)" (( "(") (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "*(int *)((int)piVar15 + 4) + -0x170e24" (pointer_expression "*(int *)((int)piVar15 + 4)" (* "*") (cast_expression "(int *)((int)piVar15 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 4)" (( "(") (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "-0x170e24"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0x1739;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0x1739" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0xc)" (( "(") (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x1739")) (; ";")) (expression_statement "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;" (assignment_expression "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16" (pointer_expression "*(int *)((int)piVar15 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x10)" (( "(") (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "*(int *)((int)piVar15 + 4) + -0x178e16" (pointer_expression "*(int *)((int)piVar15 + 4)" (* "*") (cast_expression "(int *)((int)piVar15 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 4)" (( "(") (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "-0x178e16"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x14)" (( "(") (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1bcf3e")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "*(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);" (assignment_expression "*(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =\n           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" (pointer_expression "*(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70)" (* "*") (cast_expression "(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x70)" (( "(") (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x70" (pointer_expression "*(int *)((int)piVar15 + 0x10)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x10)" (( "(") (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x70")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" (* "*") (cast_expression "(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x6c)" (( "(") (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x6c" (pointer_expression "*(int *)((int)piVar15 + 0x10)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x10)" (( "(") (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x6c")) () ")"))))) (; ";")) (labeled_statement "LAB_001bcd72:\n      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);" (statement_identifier "LAB_001bcd72") (: ":") (expression_statement "puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);" (assignment_expression "puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c)" (identifier "puVar5") (= "=") (pointer_expression "*(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c)" (* "*") (cast_expression "(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x3c)" (( "(") (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x3c" (pointer_expression "*(int *)((int)piVar15 + 0x10)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x10)" (( "(") (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x3c")) () ")"))))) (; ";"))) (expression_statement "*(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;" (assignment_expression "*(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8" (pointer_expression "*(int *)((int)piVar15 + 0x14)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x14)" (( "(") (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "*(int *)((int)piVar15 + 4) + 0x7c8" (pointer_expression "*(int *)((int)piVar15 + 4)" (* "*") (cast_expression "(int *)((int)piVar15 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 4)" (( "(") (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x7c8"))) (; ";")) (do_statement "do {\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      } while( true );" (do "do") (compound_statement "{\n        if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }\n        iVar17 = puVar5[1];\n        if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }\n        puVar5 = (undefined4 *)*puVar5;\n      }" ({ "{") (if_statement "if (puVar5 == (undefined4 *)0x0) {\n          return;\n        }" (if "if") (parenthesized_expression "(puVar5 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar5 == (undefined4 *)0x0" (identifier "puVar5") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar17 = puVar5[1];" (assignment_expression "iVar17 = puVar5[1]" (identifier "iVar17") (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')) {\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "(((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0'))" (( "(") (binary_expression "((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&\n           (*(char *)(iVar17 + 0xc) == '\0')" (parenthesized_expression "((*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2))" (( "(") (binary_expression "(*(int *)(iVar17 + 4) == -1) &&\n            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)" (parenthesized_expression "(*(int *)(iVar17 + 4) == -1)" (( "(") (binary_expression "*(int *)(iVar17 + 4) == -1" (pointer_expression "*(int *)(iVar17 + 4)" (* "*") (cast_expression "(int *)(iVar17 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 4)" (( "(") (binary_expression "iVar17 + 4" (identifier "iVar17") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "(iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)" (( "(") (comma_expression "iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2" (assignment_expression "iVar19 = *(int *)(iVar17 + 8)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(iVar17 + 8)" (* "*") (cast_expression "(int *)(iVar17 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 8)" (( "(") (binary_expression "iVar17 + 8" (identifier "iVar17") (+ "+") (number_literal "8")) () ")"))))) (, ",") (binary_expression "*(int *)(iVar19 + 0x4c) == 2" (pointer_expression "*(int *)(iVar19 + 0x4c)" (* "*") (cast_expression "(int *)(iVar19 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x4c)" (( "(") (binary_expression "iVar19 + 0x4c" (identifier "iVar19") (+ "+") (number_literal "0x4c")) () ")")))) (== "==") (number_literal "2"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(iVar17 + 0xc) == '\0')" (( "(") (binary_expression "*(char *)(iVar17 + 0xc) == '\0'" (pointer_expression "*(char *)(iVar17 + 0xc)" (* "*") (cast_expression "(char *)(iVar17 + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0xc)" (( "(") (binary_expression "iVar17 + 0xc" (identifier "iVar17") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n          iVar17 = 0;\n          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }\n          *(int *)((int)piVar15 + -8) = iVar17;\n          *(int *)((int)piVar15 + -0xc) = iVar19;\n          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);\n          uVar8 = *(undefined4 *)((int)piVar15 + 4);\n          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;\n          cVar6 = FUN_002e2990();\n          if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }\n        }" ({ "{") (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" (identifier "iVar17") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }" (if "if") (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0)" (( "(") (binary_expression "*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80)" (* "*") (cast_expression "(int *)(*(int *)((int)piVar15 + 0xc) + 0x80)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)piVar15 + 0xc) + 0x80)" (( "(") (binary_expression "*(int *)((int)piVar15 + 0xc) + 0x80" (pointer_expression "*(int *)((int)piVar15 + 0xc)" (* "*") (cast_expression "(int *)((int)piVar15 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0xc)" (( "(") (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "0x80")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);\n            *(int *)((int)piVar15 + 8) = iVar17;\n            iVar17 = iVar17 + 3;\n          }" ({ "{") (expression_statement "iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);" (assignment_expression "iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" (* "*") (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x94)" (( "(") (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x94" (pointer_expression "*(int *)((int)piVar15 + 0x10)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x10)" (( "(") (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x94")) () ")"))))) (; ";")) (expression_statement "*(int *)((int)piVar15 + 8) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + 8) = iVar17" (pointer_expression "*(int *)((int)piVar15 + 8)" (* "*") (cast_expression "(int *)((int)piVar15 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 8)" (( "(") (binary_expression "(int)piVar15 + 8" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "iVar17 = iVar17 + 3;" (assignment_expression "iVar17 = iVar17 + 3" (identifier "iVar17") (= "=") (binary_expression "iVar17 + 3" (identifier "iVar17") (+ "+") (number_literal "3"))) (; ";")) (} "}"))) (expression_statement "*(int *)((int)piVar15 + -8) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -8) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -8)" (* "*") (cast_expression "(int *)((int)piVar15 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -8)" (( "(") (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "*(int *)((int)piVar15 + -0xc) = iVar19;" (assignment_expression "*(int *)((int)piVar15 + -0xc) = iVar19" (pointer_expression "*(int *)((int)piVar15 + -0xc)" (* "*") (cast_expression "(int *)((int)piVar15 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0xc)" (( "(") (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x10)" (( "(") (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)piVar15 + 0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0xc)" (( "(") (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar8 = *(undefined4 *)((int)piVar15 + 4);" (assignment_expression "uVar8 = *(undefined4 *)((int)piVar15 + 4)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)((int)piVar15 + 4)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 4)" (( "(") (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x14)" (( "(") (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1bcde5")) (; ";")) (expression_statement "cVar6 = FUN_002e2990();" (assignment_expression "cVar6 = FUN_002e2990()" (identifier "cVar6") (= "=") (call_expression "FUN_002e2990()" (identifier "FUN_002e2990") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar6 != '\0') {\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }" (if "if") (parenthesized_expression "(cVar6 != '\0')" (( "(") (binary_expression "cVar6 != '\0'" (identifier "cVar6") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            piVar11 = (int *)(iVar19 + 0x1c);\n            while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }\n            uVar7 = piVar11[1];\n            if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }\n            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }\n            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }\n          }" ({ "{") (expression_statement "piVar11 = (int *)(iVar19 + 0x1c);" (assignment_expression "piVar11 = (int *)(iVar19 + 0x1c)" (identifier "piVar11") (= "=") (cast_expression "(int *)(iVar19 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x1c)" (( "(") (binary_expression "iVar19 + 0x1c" (identifier "iVar19") (+ "+") (number_literal "0x1c")) () ")")))) (; ";")) (while_statement "while (iVar17 != *piVar11) {\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }" (while "while") (parenthesized_expression "(iVar17 != *piVar11)" (( "(") (binary_expression "iVar17 != *piVar11" (identifier "iVar17") (!= "!=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) () ")")) (compound_statement "{\n              piVar11 = (int *)piVar11[2];\n              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;\n            }" ({ "{") (expression_statement "piVar11 = (int *)piVar11[2];" (assignment_expression "piVar11 = (int *)piVar11[2]" (identifier "piVar11") (= "=") (cast_expression "(int *)piVar11[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar11[2]" (identifier "piVar11") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (piVar11 == (int *)0x0) goto LAB_001bcdfb;" (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_001bcdfb;" (goto "goto") (statement_identifier "LAB_001bcdfb") (; ";"))) (} "}"))) (expression_statement "uVar7 = piVar11[1];" (assignment_expression "uVar7 = piVar11[1]" (identifier "uVar7") (= "=") (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (uVar7 == 0xffffffff) {\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }" (if "if") (parenthesized_expression "(uVar7 == 0xffffffff)" (( "(") (binary_expression "uVar7 == 0xffffffff" (identifier "uVar7") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\nLAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;\n              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;\n              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;\n              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;\n                    \n              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;\n              FUN_002446e0();\n            }" ({ "{") (labeled_statement "LAB_001bcdfb:\n              *(undefined4 *)((int)piVar15 + -4) = uVar8;" (statement_identifier "LAB_001bcdfb") (: ":") (expression_statement "*(undefined4 *)((int)piVar15 + -4) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -4)" (( "(") (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar8")) (; ";"))) (expression_statement "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;" (assignment_expression "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0" (pointer_expression "*(int *)((int)piVar15 + -8)" (* "*") (cast_expression "(int *)((int)piVar15 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -8)" (( "(") (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "*(int *)((int)piVar15 + 4) + -0x16f7e0" (pointer_expression "*(int *)((int)piVar15 + 4)" (* "*") (cast_expression "(int *)((int)piVar15 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 4)" (( "(") (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "-0x16f7e0"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0x1b7" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0xc)" (( "(") (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x1b7")) (; ";")) (expression_statement "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;" (assignment_expression "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20" (pointer_expression "*(int *)((int)piVar15 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x10)" (( "(") (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "*(int *)((int)piVar15 + 4) + -0x19cc20" (pointer_expression "*(int *)((int)piVar15 + 4)" (* "*") (cast_expression "(int *)((int)piVar15 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 4)" (( "(") (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "-0x19cc20"))) (; ";")) (expression_statement "*(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;" (assignment_expression "*(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18" (pointer_expression "*(undefined **)((int)piVar15 + -0x14)" (* "*") (cast_expression "(undefined **)((int)piVar15 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar15 + -0x14)" (( "(") (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_001bce18" (& "&") (identifier "UNK_001bce18"))) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }" (if "if") (parenthesized_expression "((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff))" (( "(") (binary_expression "(uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)" (parenthesized_expression "(uVar7 < *(uint *)(iVar19 + 0x50))" (( "(") (binary_expression "uVar7 < *(uint *)(iVar19 + 0x50)" (identifier "uVar7") (< "<") (pointer_expression "*(uint *)(iVar19 + 0x50)" (* "*") (cast_expression "(uint *)(iVar19 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x50)" (( "(") (binary_expression "iVar19 + 0x50" (identifier "iVar19") (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (|| "||") (parenthesized_expression "(*(uint *)(iVar19 + 0x50) == 0xffffffff)" (( "(") (binary_expression "*(uint *)(iVar19 + 0x50) == 0xffffffff" (pointer_expression "*(uint *)(iVar19 + 0x50)" (* "*") (cast_expression "(uint *)(iVar19 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x50)" (( "(") (binary_expression "iVar19 + 0x50" (identifier "iVar19") (+ "+") (number_literal "0x50")) () ")")))) (== "==") (number_literal "0xffffffff")) () ")"))) () ")")) (compound_statement "{\n              *(uint *)(iVar19 + 0x50) = uVar7;\n            }" ({ "{") (expression_statement "*(uint *)(iVar19 + 0x50) = uVar7;" (assignment_expression "*(uint *)(iVar19 + 0x50) = uVar7" (pointer_expression "*(uint *)(iVar19 + 0x50)" (* "*") (cast_expression "(uint *)(iVar19 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x50)" (( "(") (binary_expression "iVar19 + 0x50" (identifier "iVar19") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (} "}"))) (if_statement "if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }" (if "if") (parenthesized_expression "((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))" (( "(") (binary_expression "(*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&\n               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)" (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0)" (( "(") (binary_expression "*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80)" (* "*") (cast_expression "(int *)(*(int *)((int)piVar15 + 0xc) + 0x80)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)piVar15 + 0xc) + 0x80)" (( "(") (binary_expression "*(int *)((int)piVar15 + 0xc) + 0x80" (pointer_expression "*(int *)((int)piVar15 + 0xc)" (* "*") (cast_expression "(int *)((int)piVar15 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0xc)" (( "(") (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "0x80")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)" (( "(") (binary_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0" (pointer_expression "*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" (* "*") (cast_expression "(int *)(*(int *)((int)piVar15 + 0x10) + 0x94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)piVar15 + 0x10) + 0x94)" (( "(") (binary_expression "*(int *)((int)piVar15 + 0x10) + 0x94" (pointer_expression "*(int *)((int)piVar15 + 0x10)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x10)" (( "(") (binary_expression "(int)piVar15 + 0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x94")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);\n              if (iVar10 == 0) goto LAB_001bcf3e;\n              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }\n            }" ({ "{") (expression_statement "iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);" (assignment_expression "iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(**(int **)((int)piVar15 + 0x14) + 8)" (* "*") (cast_expression "(int *)(**(int **)((int)piVar15 + 0x14) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)((int)piVar15 + 0x14) + 8)" (( "(") (binary_expression "**(int **)((int)piVar15 + 0x14) + 8" (pointer_expression "**(int **)((int)piVar15 + 0x14)" (* "*") (pointer_expression "*(int **)((int)piVar15 + 0x14)" (* "*") (cast_expression "(int **)((int)piVar15 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar15 + 0x14)" (( "(") (binary_expression "(int)piVar15 + 0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x14")) () ")"))))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar10 == 0) goto LAB_001bcf3e;" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001bcf3e;" (goto "goto") (statement_identifier "LAB_001bcf3e") (; ";"))) (if_statement "if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }" (if "if") (parenthesized_expression "((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0'))" (( "(") (binary_expression "(*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')" (parenthesized_expression "(*(char *)(iVar10 + 0x1a25) != '\0')" (( "(") (binary_expression "*(char *)(iVar10 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar10 + 0x1a25)" (* "*") (cast_expression "(char *)(iVar10 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x1a25)" (( "(") (binary_expression "iVar10 + 0x1a25" (identifier "iVar10") (+ "+") (number_literal "0x1a25")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)(iVar10 + 0x2931) != '\0')" (( "(") (binary_expression "*(char *)(iVar10 + 0x2931) != '\0'" (pointer_expression "*(char *)(iVar10 + 0x2931)" (* "*") (cast_expression "(char *)(iVar10 + 0x2931)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x2931)" (( "(") (binary_expression "iVar10 + 0x2931" (identifier "iVar10") (+ "+") (number_literal "0x2931")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;\n                uVar8 = FUN_001950e0();\n                *(undefined4 *)((int)piVar15 + 8) = uVar8;\n                *(int *)((int)piVar15 + -0xc) = iVar17;\n                *(int *)((int)piVar15 + -0x10) = iVar19;\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;\n                uVar8 = FUN_0008fe50();\n                *(undefined4 *)((int)piVar15 + -4) = 0;\n                *(undefined4 *)((int)piVar15 + -8) = 1;\n                *(undefined4 *)((int)piVar15 + -0xc) = 0;\n                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;\n                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);\n                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x18) = 3;\n                *(int *)((int)piVar15 + -0x1c) = iVar19;\n                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;\n                FUN_002d6080();\n                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);\n                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;\n                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);\n                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;\n                FUN_00072fa0();\n              }" ({ "{") (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bcea9" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -4)" (( "(") (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1bcea9")) (; ";")) (expression_statement "uVar8 = FUN_001950e0();" (assignment_expression "uVar8 = FUN_001950e0()" (identifier "uVar8") (= "=") (call_expression "FUN_001950e0()" (identifier "FUN_001950e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + 8) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + 8) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + 8)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 8)" (( "(") (binary_expression "(int)piVar15 + 8" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(int *)((int)piVar15 + -0xc) = iVar17;" (assignment_expression "*(int *)((int)piVar15 + -0xc) = iVar17" (pointer_expression "*(int *)((int)piVar15 + -0xc)" (* "*") (cast_expression "(int *)((int)piVar15 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0xc)" (( "(") (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "*(int *)((int)piVar15 + -0x10) = iVar19;" (assignment_expression "*(int *)((int)piVar15 + -0x10) = iVar19" (pointer_expression "*(int *)((int)piVar15 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x10)" (( "(") (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x14)" (( "(") (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1bceb7")) (; ";")) (expression_statement "uVar8 = FUN_0008fe50();" (assignment_expression "uVar8 = FUN_0008fe50()" (identifier "uVar8") (= "=") (call_expression "FUN_0008fe50()" (identifier "FUN_0008fe50") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -4)" (( "(") (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -8) = 1;" (assignment_expression "*(undefined4 *)((int)piVar15 + -8) = 1" (pointer_expression "*(undefined4 *)((int)piVar15 + -8)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -8)" (( "(") (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0xc)" (( "(") (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x10)" (( "(") (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "uVar8 = *(undefined4 *)((int)piVar15 + 0xc);" (assignment_expression "uVar8 = *(undefined4 *)((int)piVar15 + 0xc)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)((int)piVar15 + 0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0xc)" (( "(") (binary_expression "(int)piVar15 + 0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x14)" (( "(") (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x18) = 3;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x18) = 3" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x18)" (( "(") (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "*(int *)((int)piVar15 + -0x1c) = iVar19;" (assignment_expression "*(int *)((int)piVar15 + -0x1c) = iVar19" (pointer_expression "*(int *)((int)piVar15 + -0x1c)" (* "*") (cast_expression "(int *)((int)piVar15 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x1c)" (( "(") (binary_expression "(int)piVar15 + -0x1c" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "*(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -0x20)" (* "*") (cast_expression "(undefined1 **)((int)piVar15 + -0x20)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar15 + -0x20)" (( "(") (binary_expression "(int)piVar15 + -0x20" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x38)" (( "(") (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x38")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x24)" (( "(") (binary_expression "(int)piVar15 + -0x24" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1bced7")) (; ";")) (expression_statement "FUN_002d6080();" (call_expression "FUN_002d6080()" (identifier "FUN_002d6080") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);" (assignment_expression "*(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38)" (pointer_expression "*(undefined1 **)((int)piVar15 + -8)" (* "*") (cast_expression "(undefined1 **)((int)piVar15 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar15 + -8)" (( "(") (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (cast_expression "(undefined1 *)((int)piVar15 + 0x38)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x38)" (( "(") (binary_expression "(int)piVar15 + 0x38" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x38")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0xc)" (( "(") (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x10)" (( "(") (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)piVar15 + 8)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 8)" (( "(") (binary_expression "(int)piVar15 + 8" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x14)" (( "(") (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1bcee6")) (; ";")) (expression_statement "FUN_00072fa0();" (call_expression "FUN_00072fa0()" (identifier "FUN_00072fa0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (expression_statement "puVar5 = (undefined4 *)*puVar5;" (assignment_expression "puVar5 = (undefined4 *)*puVar5" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)*puVar5" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_001bcf9d:\n  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);" (statement_identifier "LAB_001bcf9d") (: ":") (expression_statement "aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);" (assignment_expression "aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20)" (subscript_expression "aiStack_70[0]" (identifier "aiStack_70") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(int)((ulonglong)uVar20 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar20 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar20 >> 0x20" (cast_expression "(ulonglong)uVar20" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar20")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";"))) (expression_statement "aiStack_8c[1] = (int)uVar20;" (assignment_expression "aiStack_8c[1] = (int)uVar20" (subscript_expression "aiStack_8c[1]" (identifier "aiStack_8c") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)uVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar20"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -4) = 0x1bcfa2;" (assignment_expression "*(undefined4 *)((int)piVar15 + -4) = 0x1bcfa2" (pointer_expression "*(undefined4 *)((int)piVar15 + -4)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -4)" (( "(") (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1bcfa2")) (; ";")) (expression_statement "FUN_001755c0();" (call_expression "FUN_001755c0()" (identifier "FUN_001755c0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_001bcfa2:\n  *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f920;" (statement_identifier "LAB_001bcfa2") (: ":") (expression_statement "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f920;" (assignment_expression "*(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f920" (pointer_expression "*(int *)((int)piVar15 + -8)" (* "*") (cast_expression "(int *)((int)piVar15 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -8)" (( "(") (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "*(int *)((int)piVar15 + 4) + -0x16f920" (pointer_expression "*(int *)((int)piVar15 + 4)" (* "*") (cast_expression "(int *)((int)piVar15 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 4)" (( "(") (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "-0x16f920"))) (; ";"))) (expression_statement "*(undefined4 *)((int)piVar15 + -0xc) = 0x231;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0xc) = 0x231" (pointer_expression "*(undefined4 *)((int)piVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0xc)" (( "(") (binary_expression "(int)piVar15 + -0xc" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x231")) (; ";")) (expression_statement "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cca3;" (assignment_expression "*(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cca3" (pointer_expression "*(int *)((int)piVar15 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x10)" (( "(") (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "*(int *)((int)piVar15 + 4) + -0x19cca3" (pointer_expression "*(int *)((int)piVar15 + 4)" (* "*") (cast_expression "(int *)((int)piVar15 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 4)" (( "(") (binary_expression "(int)piVar15 + 4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "-0x19cca3"))) (; ";")) (expression_statement "*(undefined **)((int)piVar15 + -0x14) = &UNK_001bcfc1;" (assignment_expression "*(undefined **)((int)piVar15 + -0x14) = &UNK_001bcfc1" (pointer_expression "*(undefined **)((int)piVar15 + -0x14)" (* "*") (cast_expression "(undefined **)((int)piVar15 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar15 + -0x14)" (( "(") (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_001bcfc1" (& "&") (identifier "UNK_001bcfc1"))) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void do_adjust_dyn_symbol(Target_mips<32,_true> * this, Symbol * sym,
   uchar * view) */

void __thiscall
anon_unknown.dwarf_d7d43e::var_1<32,var_9>::do_adjust_dyn_symbol
          (var_1<32,var_9> *this,Symbol *sym,uchar *var_3)

{
  int *var_8;
  int *var_15;
  type_1 var_7;
  type_1 var_4;
  type_2 var_5;
  type_2 var_6;
  var_1<32,var_9> *in_stack_ffffffd4;
  var_2<32,var_9> *in_stack_ffffffd8;
  
  var_4 = *(type_1 *)(var_3 + 4);
  var_7 = var_4 >> 0x18 | (var_4 & 0xff0000) >> 8 | (var_4 & 0xff00) << 8 | var_4 << 0x18;
  var_5 = sym->field_0x29;
  var_6 = var_5 >> 2;
  if (((var_6 & 0x3c) == 0x3c) && (var_7 != 0)) {
    var_8 = (int *)sym[2].name_;
    var_7 = var_7 | 1;
    if (var_8 != (int *)0x0) {
      var_7 = var_2<32,var_9>::var_10
                        ((var_2<32,var_9> *)in_stack_ffffffd4,in_stack_ffffffd8);
      var_15 = (int *)*var_8;
      if (*(type_3 **)(*var_15 + 0x3c) == var_11::Sized_relobj_file<32,var_9>::var_12) {
        var_4 = elfcpp::Elf_file<32,var_9,_gold::var_13>::var_14
                          ((Elf_file<32,var_9,_gold::var_13> *)(var_15 + 0x24),var_8[1]);
      }
      else {
        var_4 = (**(type_3 **)(*var_15 + 0x3c))(var_15,var_8[1]);
      }
      *(type_1 *)(var_3 + 8) =
           var_4 >> 0x18 | (var_4 & 0xff0000) >> 8 | (var_4 & 0xff00) << 8 | var_4 << 0x18;
      var_5 = sym->field_0x29;
      var_6 = var_5 >> 2;
    }
    *(type_1 *)(var_3 + 4) =
         var_7 >> 0x18 | (var_7 & 0xff0000) >> 8 | (var_7 & 0xff00) << 8 | var_7 << 0x18;
    var_3[0xd] = (var_5 & 3) + 0x10 + var_6 * '\x04';
    return;
  }
  if ((var_6 & 0x30) != 0x20) {
    if (this->field_0xc == '\0') {
                    /* WARNING: Subroutine does not return */
      var_16(in_stack_ffffffd4);
    }
    if ((this->field_0xb & 2) == 0) {
      return;
    }
    if (*(char *)((int)&sym[1].got_offsets_.got_next_ + 1) == '\0') {
      return;
    }
  }
  if (var_7 != 0) {
    *(type_1 *)(var_3 + 4) = var_4 | 0x1000000;
    var_3[0xd] = (var_5 & 3) + 0x80 + var_6 * '\x04';
  }
  return;
}


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

/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */
/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void MASKED(int param_1,int param_2,int param_3)

{
  byte bVar1;
  int *piVar2;
  int *piVar3;
  code *pcVar4;
  undefined4 *puVar5;
  char cVar6;
  uint uVar7;
  undefined4 uVar8;
  int iVar9;
  int iVar10;
  int *piVar11;
  undefined4 *puVar12;
  int iVar13;
  byte bVar14;
  int *piVar15;
  uint uVar16;
  int iVar17;
  uint uVar18;
  int iVar19;
  undefined8 uVar20;
  int iStackY_bc;
  int aiStack_a4 [4];
  undefined **ppuStack_94;
  code *pcStack_90;
  int aiStack_8c [2];
  undefined4 *puStack_84;
  int aiStack_70 [4];
  int iStack_60;
  undefined4 uStack_5c;
  byte bStack_59;
  int aiStack_58 [6];
  undefined4 uStack_40;
  int *piStack_3c;
  uint uStack_38;
  int iStack_34;
  uint uStack_30;
  uint local_20;
  
  uVar7 = *(uint *)(param_3 + 4);
  local_20 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;
  bVar1 = *(byte *)(param_2 + 0x29);
  bVar14 = bVar1 >> 2;
  uVar16 = bVar14 & 0x3c;
  if (((char)uVar16 == '<') && (uVar16 = local_20, local_20 != 0)) {
    piVar15 = *(int **)(param_2 + 0x60);
    uVar7 = local_20 | 1;
    if (piVar15 != (int *)0x0) {
      uStack_30 = 0x1bc806;
      uVar7 = FUN_0017c910();
      uStack_38 = piVar15[1];
      piStack_3c = (int *)*piVar15;
      if (*(code **)(*piStack_3c + 0x3c) == FUN_00108a70) {
        piStack_3c = piStack_3c + 0x24;
        uStack_40 = 0x1bc82b;
        uVar16 = FUN_001089b0();
      }
      else {
        uStack_40 = 0x1bc867;
        uVar16 = (**(code **)(*piStack_3c + 0x3c))();
      }
      *(uint *)(param_3 + 8) =
           uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;
      bVar1 = *(byte *)(param_2 + 0x29);
      bVar14 = bVar1 >> 2;
    }
    *(uint *)(param_3 + 4) =
         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;
    *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x10 + bVar14 * '\x04';
    return;
  }
  uVar18 = bVar14 & 0x30;
  if ((char)uVar18 == ' ') {
LAB_001bc7be:
    if (local_20 != 0) {
      *(uint *)(param_3 + 4) = uVar7 | 0x1000000;
      *(byte *)(param_3 + 0xd) = (bVar1 & 3) + 0x80 + bVar14 * '\x04';
    }
    return;
  }
  if (*(char *)(param_1 + 0xc) != '\0') {
    if ((*(byte *)(param_1 + 0xb) & 2) == 0) {
      return;
    }
    if (*(char *)(param_2 + 0x55) == '\0') {
      return;
    }
    goto LAB_001bc7be;
  }
  uStack_30 = 0x1bc871;
  uVar20 = FUN_00175bf0();
  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);
  aiStack_8c[1] = (int)uVar20;
  iStack_34 = param_3;
  uStack_40 = 0x1bc889;
  ppuStack_94 = &__DT_PLTGOT;
  piVar15 = aiStack_a4 + 3;
  iVar17 = *(int *)(aiStack_70[0] + 0x14);
  aiStack_8c[0] = iVar17;
  piStack_3c = (int *)uVar7;
  uStack_38 = uVar18;
  uStack_30 = uVar16;
  if (iVar17 != 0) {
    iStack_60 = 0;
    uStack_5c = 0x7ffffffe;
    FUN_002e2810(iVar17,0,0x7ffffffe,aiStack_58[0],aiStack_58[1]);
    iStack_60 = 0x80000000;
    uStack_5c = 0x7ffffffe;
    FUN_002e2810(iVar17,0x80000000,0x7ffffffe,aiStack_58[0],aiStack_58[1]);
    piVar15 = aiStack_a4 + 3;
    piVar11 = *(int **)(aiStack_8c[1] + 0x3c);
    if (piVar11 == (int *)0x0) {
      piVar15 = aiStack_a4 + 3;
      if (*(int *)(aiStack_8c[1] + 4) == 0) {
        return;
      }
    }
    else {
      pcStack_90 = FUN_00109500;
      puStack_84 = &DAT_005ea7c8;
      do {
        while( true ) {
          piVar2 = (int *)piVar11[1];
          iVar17 = piVar2[1];
          if ((iVar17 != -1) && ((char)piVar2[3] == '\0')) break;
LAB_001bc940:
          piVar11 = (int *)*piVar11;
          if (piVar11 == (int *)0x0) goto LAB_001bcab0;
        }
        iVar19 = *piVar2;
        piVar15[-3] = 0;
        piVar15[-4] = iVar19;
        piVar15[-5] = 0;
        piVar15[-6] = iVar17;
        piVar15[-7] = piVar2[2];
        piVar15[-8] = piVar15[3];
        piVar15[-9] = 0x1bc977;
        FUN_002e2ea0();
        iVar17 = piVar2[1];
        if (iVar17 == -1) {
          piVar15[-2] = piVar15[1] + -0x170e10;
          piVar15[-3] = 0x1f5;
          piVar15[-4] = piVar15[1] + -0x178e16;
                    /* WARNING: Subroutine does not return */
          piVar15[-5] = 0x1bcf98;
          FUN_002446e0();
        }
        piVar3 = (int *)piVar2[2];
        iVar19 = *piVar2;
        pcVar4 = *(code **)(*piVar3 + 0xb0);
        if (pcVar4 == (code *)piVar15[2]) {
          piVar15[0xf] = iVar19;
          piVar15[0xe] = iVar17;
          piVar15[0x10] = 0;
          piVar15[-2] = (int)(piVar15 + 0xe);
          piVar15[-3] = (int)(piVar3 + 0x1a);
          piVar15[-4] = (int)(piVar15 + 0xb);
          piVar15[-5] = 0x1bc9c1;
          FUN_00109250();
          if (piVar15[10] == 0) {
            piVar15[-3] = *piVar15 + -0x16f81c;
            piVar15[-4] = 0x83c;
            piVar15[-5] = *piVar15 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            piVar15[-6] = 0x1bcf79;
            FUN_002446e0();
          }
          piVar3 = *(int **)(piVar15[10] + 0x10);
          while( true ) {
            if (piVar3 == (int *)0x0) goto LAB_001bcf00;
            if (*piVar3 == 0) break;
            piVar3 = (int *)piVar3[2];
          }
          iVar17 = piVar3[1];
          piVar3 = piVar15 + -1;
          if (iVar17 == -1) {
LAB_001bcf00:
            piVar15[-3] = *piVar15 + -0x16f81c;
            piVar15[-4] = 0x83e;
            piVar15[-5] = *piVar15 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            piVar15[-6] = 0x1bcf1f;
            FUN_002446e0();
          }
        }
        else {
          piVar15[-4] = 0;
          piVar15[-5] = iVar19;
          piVar15[-6] = 0;
          piVar15[-7] = iVar17;
          piVar15[-8] = (int)piVar3;
          piVar15[-9] = 0x1bcd33;
          iVar17 = (*pcVar4)();
          piVar3 = piVar15;
        }
        piVar15 = piVar3;
        if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) == 0) ||
           (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) == 0)) goto LAB_001bc940;
        iVar19 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);
        if (iVar19 == 0) goto LAB_001bcf3e;
        if ((*(char *)(iVar19 + 0x1a25) == '\0') && (*(char *)(iVar19 + 0x2931) == '\0'))
        goto LAB_001bc940;
        if (*(char *)((int)piVar2 + 0xd) == '\0') {
          *(undefined4 *)((int)piVar15 + -4) = 0x1bca62;
          uVar8 = FUN_001950e0();
          iVar19 = piVar2[1];
          if (iVar19 == -1) {
LAB_001bcf98:
            *(undefined4 *)((int)piVar15 + -4) = 0x1bcf9d;
            FUN_001756d0();
            uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);
            goto LAB_001bcf9d;
          }
          *(undefined4 *)((int)piVar15 + -0xc) = 0;
          *(undefined4 *)((int)piVar15 + -0x10) = 0;
          *(undefined4 *)((int)piVar15 + -0x14) = 0;
        }
        else {
          *(undefined4 *)((int)piVar15 + -4) = 0x1bcd45;
          uVar8 = FUN_001950e0();
          iVar19 = piVar2[1];
          if (iVar19 == -1) goto LAB_001bcf98;
          *(undefined4 *)((int)piVar15 + -0xc) = 0;
          *(undefined4 *)((int)piVar15 + -0x10) = 0;
          *(undefined4 *)((int)piVar15 + -0x14) = 1;
        }
        *(undefined4 *)((int)piVar15 + -0x18) = 0;
        *(int *)((int)piVar15 + -0x1c) = iVar17;
        *(undefined4 *)((int)piVar15 + -0x20) = *(undefined4 *)((int)piVar15 + 0xc);
        *(undefined4 *)((int)piVar15 + -0x24) = 3;
        *(int *)((int)piVar15 + -0x28) = iVar19;
        *(int *)((int)piVar15 + -0x2c) = piVar2[2];
        *(undefined1 **)((int)piVar15 + -0x30) = (undefined1 *)((int)piVar15 + 0x38);
        *(undefined4 *)((int)piVar15 + -0x34) = 0x1bca94;
        FUN_002d6220();
        *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);
        *(undefined4 *)((int)piVar15 + -0xc) = *(undefined4 *)((int)piVar15 + 0xc);
        *(undefined4 *)((int)piVar15 + -0x10) = uVar8;
        *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcaa2;
        FUN_00072fa0();
        piVar11 = (int *)*piVar11;
      } while (piVar11 != (int *)0x0);
LAB_001bcab0:
      if (*(int *)(*(int *)((int)piVar15 + 0x10) + 4) == 0) goto LAB_001bcd72;
    }
    uVar20 = CONCAT44(aiStack_70[0],aiStack_8c[1]);
    iVar17 = *(int *)(*(int *)((int)piVar15 + 0x28) + 0x14);
    if (iVar17 != 0) {
      *(undefined4 *)((int)piVar15 + 0x38) = 0;
      *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;
      *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);
      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);
      *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;
      *(undefined4 *)((int)piVar15 + -0x1c) = 0;
      *(int *)((int)piVar15 + -0x20) = iVar17;
      iVar19 = *(int *)((int)piVar15 + 4);
      *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcafc;
      iVar9 = FUN_002e2810();
      iVar10 = *(int *)(iVar17 + 0x80);
      iVar13 = *(int *)((int)piVar15 + 0x10);
      *(int *)(iVar13 + 0x6c) = iVar9;
      if ((iVar10 != 0) && (*(int *)(iVar13 + 0x94) != 0)) {
        iVar19 = *(int *)(*(int *)(iVar19 + 0x7c8) + 8);
        if (iVar19 == 0) {
LAB_001bcf3e:
          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f3a8;
          *(undefined4 *)((int)piVar15 + -0xc) = 0x5c;
          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf5a;
          FUN_002446e0();
        }
        if ((*(char *)(iVar19 + 0x1a25) != '\0') || (*(char *)(iVar19 + 0x2931) != '\0')) {
          *(undefined4 *)((int)piVar15 + -4) = 0x1bcb4c;
          uVar8 = FUN_001950e0();
          *(undefined4 *)((int)piVar15 + -0x10) = 0;
          *(undefined4 *)((int)piVar15 + -0x14) =
               *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);
          *(int *)((int)piVar15 + -0x18) = iVar17;
          *(undefined4 *)((int)piVar15 + -0x1c) = 3;
          *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);
          *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcb6b;
          FUN_002d5740();
          *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);
          *(int *)((int)piVar15 + -0xc) = iVar17;
          *(undefined4 *)((int)piVar15 + -0x10) = uVar8;
          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcb76;
          FUN_00072fa0();
          iVar9 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x6c);
        }
      }
      iVar19 = *(int *)(*(int *)((int)piVar15 + 0x10) + 4);
      *(int *)((int)piVar15 + 0x20) = *(int *)((int)piVar15 + 4) + 0x7c8;
      *(int *)((int)piVar15 + 0x24) = *(int *)((int)piVar15 + 0x28) + 0x24;
      while (iVar19 = iVar19 + -1, 0 < iVar19) {
        *(undefined4 *)((int)piVar15 + 0x38) = 0;
        *(undefined4 *)((int)piVar15 + 0x3c) = 0x7ffffffe;
        *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x44);
        *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 0x40);
        *(undefined4 *)((int)piVar15 + -0x18) = 0x7ffffffe;
        *(undefined4 *)((int)piVar15 + -0x1c) = 0;
        *(int *)((int)piVar15 + -0x20) = iVar17;
        *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcc76;
        uVar8 = FUN_002e2810();
        *(undefined4 *)((int)piVar15 + 8) = uVar8;
        if ((*(int *)(iVar17 + 0x80) != 0) && (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0))
        {
          iVar10 = *(int *)(**(int **)((int)piVar15 + 0x20) + 8);
          if (iVar10 == 0) goto LAB_001bcf3e;
          if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {
            *(undefined4 *)((int)piVar15 + -4) = 0x1bccc9;
            uVar8 = FUN_001950e0();
            *(undefined4 *)((int)piVar15 + 0x18) = uVar8;
            *(undefined4 *)((int)piVar15 + -0x10) = 0;
            *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)((int)piVar15 + 8);
            *(int *)((int)piVar15 + -0x18) = iVar17;
            *(undefined4 *)((int)piVar15 + -0x1c) = 3;
            *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);
            *(undefined1 **)((int)piVar15 + 0x14) = (undefined1 *)((int)piVar15 + 0x38);
            *(undefined4 *)((int)piVar15 + -0x24) = 0x1bcceb;
            FUN_002d5740();
            iVar10 = *(int *)((int)piVar15 + 0x18);
            puVar5 = *(undefined4 **)(iVar10 + 0x38);
            if (puVar5 == *(undefined4 **)(iVar10 + 0x3c)) {
              *(undefined4 *)((int)piVar15 + -8) = *(undefined4 *)((int)piVar15 + 0x14);
              *(undefined4 **)((int)piVar15 + -0xc) = puVar5;
              *(int *)((int)piVar15 + 0x14) = iVar10;
              *(int *)((int)piVar15 + -0x10) = iVar10 + 0x34;
              *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcd14;
              FUN_00072dc0();
              iVar10 = *(int *)((int)piVar15 + 0x14);
              puVar12 = *(undefined4 **)(iVar10 + 0x38);
            }
            else {
              puVar12 = puVar5 + 6;
              *puVar5 = *(undefined4 *)((int)piVar15 + 0x38);
              puVar5[1] = *(undefined4 *)((int)piVar15 + 0x3c);
              puVar5[2] = *(undefined4 *)((int)piVar15 + 0x40);
              puVar5[3] = *(undefined4 *)((int)piVar15 + 0x44);
              puVar5[4] = *(undefined4 *)((int)piVar15 + 0x48);
              puVar5[5] = *(undefined4 *)((int)piVar15 + 0x4c);
              *(undefined4 **)(iVar10 + 0x38) = puVar12;
            }
            iVar13 = (int)puVar12 - *(int *)(iVar10 + 0x34) >> 3;
            if ((*(byte *)(iVar10 + 0x1c) & 2) != 0) goto LAB_001bcfa2;
            *(int *)(iVar10 + 0xc) = iVar13 * 0x55555558;
            *(undefined4 *)(iVar10 + 0x10) = 0;
            *(byte *)(iVar17 + 0x1c) = *(byte *)(iVar17 + 0x1c) | 0x10;
            if ((*(byte *)((int)piVar15 + 0x4b) & 0x10) != 0) {
              *(int *)(iVar10 + 0x2c) = *(int *)(iVar10 + 0x2c) + 1;
            }
            iVar10 = *(int *)((int)piVar15 + 0x3c);
            if ((*(int *)((int)piVar15 + 0x4c) != -4) && (iVar10 != 0)) {
              if (*(int *)(iVar10 + 100) == 0) {
                *(int *)(iVar10 + 0x60) = iVar13 * -0x55555555 + -1;
              }
              *(int *)(iVar10 + 100) = *(int *)(iVar10 + 100) + 1;
            }
          }
        }
        iVar10 = iVar9 + 4;
        iVar9 = *(int *)((int)piVar15 + 8);
        if (iVar9 != iVar10) {
          *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x170e24;
          *(undefined4 *)((int)piVar15 + -0xc) = 0x1739;
          *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x178e16;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcf3e;
          FUN_002446e0();
        }
      }
      *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x70) =
           *(undefined4 *)(*(int *)((int)piVar15 + 0x10) + 0x6c);
LAB_001bcd72:
      puVar5 = *(undefined4 **)(*(int *)((int)piVar15 + 0x10) + 0x3c);
      *(int *)((int)piVar15 + 0x14) = *(int *)((int)piVar15 + 4) + 0x7c8;
      do {
        if (puVar5 == (undefined4 *)0x0) {
          return;
        }
        iVar17 = puVar5[1];
        if (((*(int *)(iVar17 + 4) == -1) &&
            (iVar19 = *(int *)(iVar17 + 8), *(int *)(iVar19 + 0x4c) == 2)) &&
           (*(char *)(iVar17 + 0xc) == '\0')) {
          iVar17 = 0;
          if (*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) {
            iVar17 = *(int *)(*(int *)((int)piVar15 + 0x10) + 0x94);
            *(int *)((int)piVar15 + 8) = iVar17;
            iVar17 = iVar17 + 3;
          }
          *(int *)((int)piVar15 + -8) = iVar17;
          *(int *)((int)piVar15 + -0xc) = iVar19;
          *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0xc);
          uVar8 = *(undefined4 *)((int)piVar15 + 4);
          *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcde5;
          cVar6 = FUN_002e2990();
          if (cVar6 != '\0') {
            piVar11 = (int *)(iVar19 + 0x1c);
            while (iVar17 != *piVar11) {
              piVar11 = (int *)piVar11[2];
              if (piVar11 == (int *)0x0) goto LAB_001bcdfb;
            }
            uVar7 = piVar11[1];
            if (uVar7 == 0xffffffff) {
LAB_001bcdfb:
              *(undefined4 *)((int)piVar15 + -4) = uVar8;
              *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f7e0;
              *(undefined4 *)((int)piVar15 + -0xc) = 0x1b7;
              *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cc20;
                    /* WARNING: Subroutine does not return */
              *(undefined **)((int)piVar15 + -0x14) = &UNK_001bce18;
              FUN_002446e0();
            }
            if ((uVar7 < *(uint *)(iVar19 + 0x50)) || (*(uint *)(iVar19 + 0x50) == 0xffffffff)) {
              *(uint *)(iVar19 + 0x50) = uVar7;
            }
            if ((*(int *)(*(int *)((int)piVar15 + 0xc) + 0x80) != 0) &&
               (*(int *)(*(int *)((int)piVar15 + 0x10) + 0x94) != 0)) {
              iVar10 = *(int *)(**(int **)((int)piVar15 + 0x14) + 8);
              if (iVar10 == 0) goto LAB_001bcf3e;
              if ((*(char *)(iVar10 + 0x1a25) != '\0') || (*(char *)(iVar10 + 0x2931) != '\0')) {
                *(undefined4 *)((int)piVar15 + -4) = 0x1bcea9;
                uVar8 = FUN_001950e0();
                *(undefined4 *)((int)piVar15 + 8) = uVar8;
                *(int *)((int)piVar15 + -0xc) = iVar17;
                *(int *)((int)piVar15 + -0x10) = iVar19;
                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bceb7;
                uVar8 = FUN_0008fe50();
                *(undefined4 *)((int)piVar15 + -4) = 0;
                *(undefined4 *)((int)piVar15 + -8) = 1;
                *(undefined4 *)((int)piVar15 + -0xc) = 0;
                *(undefined4 *)((int)piVar15 + -0x10) = uVar8;
                uVar8 = *(undefined4 *)((int)piVar15 + 0xc);
                *(undefined4 *)((int)piVar15 + -0x14) = uVar8;
                *(undefined4 *)((int)piVar15 + -0x18) = 3;
                *(int *)((int)piVar15 + -0x1c) = iVar19;
                *(undefined1 **)((int)piVar15 + -0x20) = (undefined1 *)((int)piVar15 + 0x38);
                *(undefined4 *)((int)piVar15 + -0x24) = 0x1bced7;
                FUN_002d6080();
                *(undefined1 **)((int)piVar15 + -8) = (undefined1 *)((int)piVar15 + 0x38);
                *(undefined4 *)((int)piVar15 + -0xc) = uVar8;
                *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 8);
                *(undefined4 *)((int)piVar15 + -0x14) = 0x1bcee6;
                FUN_00072fa0();
              }
            }
          }
        }
        puVar5 = (undefined4 *)*puVar5;
      } while( true );
    }
  }
LAB_001bcf9d:
  aiStack_70[0] = (int)((ulonglong)uVar20 >> 0x20);
  aiStack_8c[1] = (int)uVar20;
  *(undefined4 *)((int)piVar15 + -4) = 0x1bcfa2;
  FUN_001755c0();
LAB_001bcfa2:
  *(int *)((int)piVar15 + -8) = *(int *)((int)piVar15 + 4) + -0x16f920;
  *(undefined4 *)((int)piVar15 + -0xc) = 0x231;
  *(int *)((int)piVar15 + -0x10) = *(int *)((int)piVar15 + 4) + -0x19cca3;
                    /* WARNING: Subroutine does not return */
  *(undefined **)((int)piVar15 + -0x14) = &UNK_001bcfc1;
  FUN_002446e0();
}

