
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original prototype: uint64_t header_size_adjustment(Script_sections * this, uint64_t lma,
   size_t sizeof_headers) */

uint64_t __thiscall
gold::Script_sections::header_size_adjustment
          (Script_sections *this,uint64_t lma,size_t sizeof_headers)

{
  bool bVar1;
  int iVar2;
  int iVar3;
  undefined4 uVar4;
  int iVar5;
  uint uVar6;
  int iVar7;
  undefined *puVar8;
  char *pcVar9;
  int iVar10;
  undefined4 uVar11;
  int in_a2;
  undefined4 *puVar12;
  uint in_a3;
  undefined4 uVar13;
  int *piVar14;
  int *piVar15;
  int *piVar16;
  int *piVar17;
  code *pcVar18;
  
  iVar10 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc);
  puVar8 = PTR_s_alize_xindex_004323b4;
  if (iVar10 != 0) {
    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);
    if (iVar2 != 0) {
      iVar7 = *(int *)(iVar2 + 0x5228);
      iVar2 = *(int *)(iVar2 + 0x522c);
      if (iVar7 == 0 && iVar2 == 0) {
        iVar10 = *(int *)(iVar10 + 4);
        iVar7 = *(int *)(iVar10 + 0x20);
        iVar2 = *(int *)(iVar10 + 0x24);
      }
      uVar6 = in_a3 - (-iVar2 & in_a3 - lma._0_4_);
      return CONCAT44((in_a2 - (-(uint)(-iVar2 != 0) - iVar7 &
                               in_a2 - (uint)(in_a3 < in_a3 - lma._0_4_))) - (uint)(in_a3 < uVar6),
                      uVar6);
    }
    puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;
    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0x5c,PTR_s__0043226c + -0x5348);
  }
  uVar11 = 0x69;
  puVar12 = (undefined4 *)(PTR_s__0043226c + -0x528c);
  pcVar9 = puVar8 + -0x5cec;
  puVar8 = PTR_do_gold_unreachable_004323c4;
  (*(code *)PTR_do_gold_unreachable_004323c4)(pcVar9,0x69);
  if ((*pcVar9 != '\0') && (*(int *)(pcVar9 + 0x10) != 0)) {
    (**(code **)(puVar8 + 0x225524))
              (*(int *)(puVar8 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar8 + 0x2253cc) + -0x54f4);
  }
  piVar14 = (int *)*puVar12;
  piVar16 = (int *)puVar12[1];
  iVar10 = *(int *)(puVar8 + 0x2253cc);
  if (piVar14 != piVar16) {
    iVar2 = *piVar14;
    bVar1 = false;
    iVar7 = *(int *)(puVar8 + 0x225514) + -0x2820;
    uVar13 = *(undefined4 *)(iVar2 + 0x58);
    uVar6 = *(uint *)(iVar2 + 0x5c);
LAB_0020cf64:
    do {
      piVar17 = piVar14 + 1;
      piVar15 = piVar14;
      if (*(int *)(iVar2 + 0x54) == 7) {
        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);
        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,4,uVar13);
        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar14,uVar13);
        piVar16 = (int *)puVar12[1];
        if (piVar16 == piVar17) {
          iVar2 = *piVar14;
        }
        else {
          iVar2 = piVar14[1];
          pcVar18 = *(code **)(puVar8 + 0x2281ac);
          if (*(int *)(iVar2 + 0x54) == 7) {
            do {
              piVar15 = piVar17;
              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));
              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);
              piVar17 = piVar15 + 1;
              piVar16 = (int *)puVar12[1];
              if (piVar16 == piVar17) {
                iVar2 = *piVar15;
                uVar13 = *(undefined4 *)(iVar2 + 0x58);
                uVar6 = *(uint *)(iVar2 + 0x5c);
                piVar17 = piVar16;
                goto LAB_0020cf70;
              }
              iVar2 = piVar15[1];
              pcVar18 = *(code **)(puVar8 + 0x2281ac);
            } while (*(int *)(iVar2 + 0x54) == 7);
            iVar2 = *piVar15;
            uVar13 = *(undefined4 *)(iVar2 + 0x58);
            uVar6 = *(uint *)(iVar2 + 0x5c);
            goto LAB_0020cf70;
          }
          iVar2 = *piVar14;
        }
        uVar13 = *(undefined4 *)(iVar2 + 0x58);
        uVar6 = *(uint *)(iVar2 + 0x5c);
      }
LAB_0020cf70:
      piVar14 = piVar17;
      if ((uVar6 & 0x400) == 0) {
LAB_0020cf7c:
        iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);
        if (iVar3 == 0) goto LAB_0020cf94;
        if (piVar16 == piVar14) break;
      }
      else {
        if (bVar1) {
          uVar13 = (**(code **)(puVar8 + 0x229978))(iVar10 + -0x59b8);
          (**(code **)(puVar8 + 0x225ee4))(uVar13);
          uVar13 = *(undefined4 *)(*piVar15 + 0x58);
          uVar6 = *(uint *)(*piVar15 + 0x5c);
        }
        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);
        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,7,uVar13);
        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);
        piVar16 = (int *)puVar12[1];
        if (piVar16 == piVar14) {
          iVar2 = *piVar15;
          iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);
          if (iVar3 != 0) break;
          bVar1 = true;
        }
        else {
          iVar3 = piVar15[1];
          uVar6 = *(uint *)(iVar3 + 0x5c);
          uVar13 = *(undefined4 *)(iVar3 + 0x58);
          if ((uVar6 & 0x400) != 0) {
            do {
              piVar15 = piVar14;
              uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);
              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);
              piVar14 = piVar15 + 1;
              piVar16 = (int *)puVar12[1];
              if (piVar16 == piVar14) {
                iVar2 = *piVar15;
                bVar1 = true;
                piVar14 = piVar16;
                goto LAB_0020cf7c;
              }
              uVar6 = *(uint *)(piVar15[1] + 0x5c);
              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);
            } while ((uVar6 & 0x400) != 0);
            iVar2 = *piVar15;
            bVar1 = true;
            goto LAB_0020cf7c;
          }
          iVar2 = *piVar15;
          iVar5 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);
          if (iVar5 != 0) {
            bVar1 = true;
            iVar2 = iVar3;
            goto LAB_0020cf64;
          }
          bVar1 = true;
        }
LAB_0020cf94:
        uVar13 = (**(code **)(puVar8 + 0x2281ac))
                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));
        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,3,uVar13);
        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);
        piVar16 = (int *)puVar12[1];
        if (piVar16 == piVar14) break;
      }
      iVar2 = piVar15[1];
      uVar13 = *(undefined4 *)(iVar2 + 0x58);
      uVar6 = *(uint *)(iVar2 + 0x5c);
    } while( true );
  }
  pcVar9[0x1f] = '\x01';
  return CONCAT44(1,pcVar9);
}



/* gold::Script_sections::header_size_adjustment(unsigned long long, unsigned int) const */

int gold::Script_sections::header_size_adjustment(ulonglong param_1,uint param_2)

{
  bool bVar1;
  int iVar2;
  int iVar3;
  undefined4 uVar4;
  int iVar5;
  int iVar6;
  undefined *puVar7;
  char *pcVar8;
  int iVar9;
  undefined4 uVar10;
  int in_a2;
  undefined4 *puVar11;
  uint uVar12;
  uint in_a3;
  undefined4 uVar13;
  int *piVar14;
  int *piVar15;
  int *piVar16;
  int *piVar17;
  code *pcVar18;
  
  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc);
  puVar7 = PTR_s_alize_xindex_004323b4;
  if (iVar9 != 0) {
    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);
    if (iVar2 != 0) {
      iVar6 = *(int *)(iVar2 + 0x5228);
      iVar2 = *(int *)(iVar2 + 0x522c);
      if (iVar6 == 0 && iVar2 == 0) {
        iVar9 = *(int *)(iVar9 + 4);
        iVar6 = *(int *)(iVar9 + 0x20);
        iVar2 = *(int *)(iVar9 + 0x24);
      }
      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))
             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));
    }
    puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec;
    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348);
  }
  uVar10 = 0x69;
  puVar11 = (undefined4 *)(PTR_DAT_0043226c + -0x528c);
  pcVar8 = puVar7 + -0x5cec;
  puVar7 = PTR_do_gold_unreachable_004323c4;
  (*(code *)PTR_do_gold_unreachable_004323c4)(pcVar8,0x69);
  if ((*pcVar8 != '\0') && (*(int *)(pcVar8 + 0x10) != 0)) {
    (**(code **)(puVar7 + 0x225524))
              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4);
  }
  piVar14 = (int *)*puVar11;
  piVar16 = (int *)puVar11[1];
  iVar9 = *(int *)(puVar7 + 0x2253cc);
  if (piVar14 != piVar16) {
    iVar2 = *piVar14;
    bVar1 = false;
    iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820;
    uVar13 = *(undefined4 *)(iVar2 + 0x58);
    uVar12 = *(uint *)(iVar2 + 0x5c);
LAB_0020cf64:
    do {
      piVar17 = piVar14 + 1;
      piVar15 = piVar14;
      if (*(int *)(iVar2 + 0x54) == 7) {
        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);
        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);
        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);
        piVar16 = (int *)puVar11[1];
        if (piVar16 == piVar17) {
          iVar2 = *piVar14;
        }
        else {
          iVar2 = piVar14[1];
          pcVar18 = *(code **)(puVar7 + 0x2281ac);
          if (*(int *)(iVar2 + 0x54) == 7) {
            do {
              piVar15 = piVar17;
              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));
              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);
              piVar17 = piVar15 + 1;
              piVar16 = (int *)puVar11[1];
              if (piVar16 == piVar17) {
                iVar2 = *piVar15;
                uVar13 = *(undefined4 *)(iVar2 + 0x58);
                uVar12 = *(uint *)(iVar2 + 0x5c);
                piVar17 = piVar16;
                goto LAB_0020cf70;
              }
              iVar2 = piVar15[1];
              pcVar18 = *(code **)(puVar7 + 0x2281ac);
            } while (*(int *)(iVar2 + 0x54) == 7);
            iVar2 = *piVar15;
            uVar13 = *(undefined4 *)(iVar2 + 0x58);
            uVar12 = *(uint *)(iVar2 + 0x5c);
            goto LAB_0020cf70;
          }
          iVar2 = *piVar14;
        }
        uVar13 = *(undefined4 *)(iVar2 + 0x58);
        uVar12 = *(uint *)(iVar2 + 0x5c);
      }
LAB_0020cf70:
      piVar14 = piVar17;
      if ((uVar12 & 0x400) == 0) {
LAB_0020cf7c:
        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);
        if (iVar3 == 0) goto LAB_0020cf94;
        if (piVar16 == piVar14) break;
      }
      else {
        if (bVar1) {
          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);
          (**(code **)(puVar7 + 0x225ee4))(uVar13);
          uVar13 = *(undefined4 *)(*piVar15 + 0x58);
          uVar12 = *(uint *)(*piVar15 + 0x5c);
        }
        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);
        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);
        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);
        piVar16 = (int *)puVar11[1];
        if (piVar16 == piVar14) {
          iVar2 = *piVar15;
          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);
          if (iVar3 != 0) break;
          bVar1 = true;
        }
        else {
          iVar3 = piVar15[1];
          uVar12 = *(uint *)(iVar3 + 0x5c);
          uVar13 = *(undefined4 *)(iVar3 + 0x58);
          if ((uVar12 & 0x400) != 0) {
            do {
              piVar15 = piVar14;
              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);
              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);
              piVar14 = piVar15 + 1;
              piVar16 = (int *)puVar11[1];
              if (piVar16 == piVar14) {
                iVar2 = *piVar15;
                bVar1 = true;
                piVar14 = piVar16;
                goto LAB_0020cf7c;
              }
              uVar12 = *(uint *)(piVar15[1] + 0x5c);
              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);
            } while ((uVar12 & 0x400) != 0);
            iVar2 = *piVar15;
            bVar1 = true;
            goto LAB_0020cf7c;
          }
          iVar2 = *piVar15;
          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);
          if (iVar5 != 0) {
            bVar1 = true;
            iVar2 = iVar3;
            goto LAB_0020cf64;
          }
          bVar1 = true;
        }
LAB_0020cf94:
        uVar13 = (**(code **)(puVar7 + 0x2281ac))
                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));
        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);
        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);
        piVar16 = (int *)puVar11[1];
        if (piVar16 == piVar14) break;
      }
      iVar2 = piVar15[1];
      uVar13 = *(undefined4 *)(iVar2 + 0x58);
      uVar12 = *(uint *)(iVar2 + 0x5c);
    } while( true );
  }
  pcVar8[0x1f] = '\x01';
  return 1;
}


lui gp,0x23
addiu gp,gp,-0x2c08
addu gp,gp,t9
lw v0,-0x75f0(gp)
addiu sp,sp,-0x20
sw gp,0x10(sp)
lw v0,0x0(v0)
sw ra,0x1c(sp)
lw a1,0xc(v0)
beq a1,zero,0x0020ce88
_lw a0,-0x7e1c(gp)
lw v0,0x8(v0)
beq v0,zero,0x0020ce74
_lw t9,-0x7e0c(gp)
lw a0,0x5228(v0)
lw v1,0x522c(v0)
or v0,a0,v1
bne v0,zero,0x0020ce30
_nop
lw v0,0x4(a1)
lw a0,0x20(v0)
lw v1,0x24(v0)
lw a1,0x30(sp)
subu v1,zero,v1
subu a0,zero,a0
lw ra,0x1c(sp)
sltu v0,zero,v1
subu a1,a3,a1
subu v0,a0,v0
sltu t0,a3,a1
subu t0,a2,t0
and v1,v1,a1
subu v1,a3,v1
and v0,v0,t0
subu v0,a2,v0
sltu a3,a3,v1
subu v0,v0,a3
jr ra
_addiu sp,sp,0x20
lw a2,-0x7f64(gp)
li a1,0x5c
addiu a2,a2,-0x5348
jalr t9
_addiu a0,a0,-0x5cec
lw a2,-0x7f64(gp)
li a1,0x69
lw t9,-0x7e0c(gp)
addiu a2,a2,-0x528c
jalr t9
_addiu a0,a0,-0x5cec
(translation_unit "/* gold::Script_sections::header_size_adjustment(unsigned long long, unsigned int) const */\n\nint gold::Script_sections::header_size_adjustment(ulonglong param_1,uint param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  undefined *puVar7;\n  char *pcVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int in_a2;\n  undefined4 *puVar11;\n  uint uVar12;\n  uint in_a3;\n  undefined4 uVar13;\n  int *piVar14;\n  int *piVar15;\n  int *piVar16;\n  int *piVar17;\n  code *pcVar18;\n  \n  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc);\n  puVar7 = PTR_s_alize_xindex_004323b4;\n  if (iVar9 != 0) {\n    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    if (iVar2 != 0) {\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }\n    puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348);\n  }\n  uVar10 = 0x69;\n  puVar11 = (undefined4 *)(PTR_DAT_0043226c + -0x528c);\n  pcVar8 = puVar7 + -0x5cec;\n  puVar7 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(pcVar8,0x69);\n  if ((*pcVar8 != '\0') && (*(int *)(pcVar8 + 0x10) != 0)) {\n    (**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4);\n  }\n  piVar14 = (int *)*puVar11;\n  piVar16 = (int *)puVar11[1];\n  iVar9 = *(int *)(puVar7 + 0x2253cc);\n  if (piVar14 != piVar16) {\n    iVar2 = *piVar14;\n    bVar1 = false;\n    iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820;\n    uVar13 = *(undefined4 *)(iVar2 + 0x58);\n    uVar12 = *(uint *)(iVar2 + 0x5c);\nLAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );\n  }\n  pcVar8[0x1f] = '\x01';\n  return 1;\n}\n\n" comment (function_definition "int gold::Script_sections::header_size_adjustment(ulonglong param_1,uint param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  undefined *puVar7;\n  char *pcVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int in_a2;\n  undefined4 *puVar11;\n  uint uVar12;\n  uint in_a3;\n  undefined4 uVar13;\n  int *piVar14;\n  int *piVar15;\n  int *piVar16;\n  int *piVar17;\n  code *pcVar18;\n  \n  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc);\n  puVar7 = PTR_s_alize_xindex_004323b4;\n  if (iVar9 != 0) {\n    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    if (iVar2 != 0) {\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }\n    puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348);\n  }\n  uVar10 = 0x69;\n  puVar11 = (undefined4 *)(PTR_DAT_0043226c + -0x528c);\n  pcVar8 = puVar7 + -0x5cec;\n  puVar7 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(pcVar8,0x69);\n  if ((*pcVar8 != '\0') && (*(int *)(pcVar8 + 0x10) != 0)) {\n    (**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4);\n  }\n  piVar14 = (int *)*puVar11;\n  piVar16 = (int *)puVar11[1];\n  iVar9 = *(int *)(puVar7 + 0x2253cc);\n  if (piVar14 != piVar16) {\n    iVar2 = *piVar14;\n    bVar1 = false;\n    iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820;\n    uVar13 = *(undefined4 *)(iVar2 + 0x58);\n    uVar12 = *(uint *)(iVar2 + 0x5c);\nLAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );\n  }\n  pcVar8[0x1f] = '\x01';\n  return 1;\n}" primitive_type (ERROR "gold::Script_sections::" identifier : : identifier : :) (function_declarator "header_size_adjustment(ulonglong param_1,uint param_2)" identifier (parameter_list "(ulonglong param_1,uint param_2)" ( (parameter_declaration "ulonglong param_1" type_identifier identifier) , (parameter_declaration "uint param_2" type_identifier identifier) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  undefined *puVar7;\n  char *pcVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int in_a2;\n  undefined4 *puVar11;\n  uint uVar12;\n  uint in_a3;\n  undefined4 uVar13;\n  int *piVar14;\n  int *piVar15;\n  int *piVar16;\n  int *piVar17;\n  code *pcVar18;\n  \n  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc);\n  puVar7 = PTR_s_alize_xindex_004323b4;\n  if (iVar9 != 0) {\n    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    if (iVar2 != 0) {\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }\n    puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348);\n  }\n  uVar10 = 0x69;\n  puVar11 = (undefined4 *)(PTR_DAT_0043226c + -0x528c);\n  pcVar8 = puVar7 + -0x5cec;\n  puVar7 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(pcVar8,0x69);\n  if ((*pcVar8 != '\0') && (*(int *)(pcVar8 + 0x10) != 0)) {\n    (**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4);\n  }\n  piVar14 = (int *)*puVar11;\n  piVar16 = (int *)puVar11[1];\n  iVar9 = *(int *)(puVar7 + 0x2253cc);\n  if (piVar14 != piVar16) {\n    iVar2 = *piVar14;\n    bVar1 = false;\n    iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820;\n    uVar13 = *(undefined4 *)(iVar2 + 0x58);\n    uVar12 = *(uint *)(iVar2 + 0x5c);\nLAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );\n  }\n  pcVar8[0x1f] = '\x01';\n  return 1;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int in_a2;" primitive_type identifier ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint in_a3;" type_identifier identifier ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "code *pcVar18;" type_identifier (pointer_declarator "*pcVar18" * identifier) ;) (expression_statement "iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc);" (assignment_expression "iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc)" identifier = (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 0xc" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (expression_statement "puVar7 = PTR_s_alize_xindex_004323b4;" (assignment_expression "puVar7 = PTR_s_alize_xindex_004323b4" identifier = identifier) ;) (if_statement "if (iVar9 != 0) {\n    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    if (iVar2 != 0) {\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }\n    puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348);\n  }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    if (iVar2 != 0) {\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }\n    puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348);\n  }" { (expression_statement "iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);" (assignment_expression "iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8)" identifier = (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (iVar2 != 0) {\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }" { (expression_statement "iVar6 = *(int *)(iVar2 + 0x5228);" (assignment_expression "iVar6 = *(int *)(iVar2 + 0x5228)" identifier = (pointer_expression "*(int *)(iVar2 + 0x5228)" * (cast_expression "(int *)(iVar2 + 0x5228)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5228)" ( (binary_expression "iVar2 + 0x5228" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar2 + 0x522c);" (assignment_expression "iVar2 = *(int *)(iVar2 + 0x522c)" identifier = (pointer_expression "*(int *)(iVar2 + 0x522c)" * (cast_expression "(int *)(iVar2 + 0x522c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x522c)" ( (binary_expression "iVar2 + 0x522c" identifier + number_literal) ))))) ;) (if_statement "if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }" if (parenthesized_expression "(iVar6 == 0 && iVar2 == 0)" ( (binary_expression "iVar6 == 0 && iVar2 == 0" (binary_expression "iVar6 == 0" identifier == number_literal) && (binary_expression "iVar2 == 0" identifier == number_literal)) )) (compound_statement "{\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }" { (expression_statement "iVar9 = *(int *)(iVar9 + 4);" (assignment_expression "iVar9 = *(int *)(iVar9 + 4)" identifier = (pointer_expression "*(int *)(iVar9 + 4)" * (cast_expression "(int *)(iVar9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar9 + 0x20);" (assignment_expression "iVar6 = *(int *)(iVar9 + 0x20)" identifier = (pointer_expression "*(int *)(iVar9 + 0x20)" * (cast_expression "(int *)(iVar9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar9 + 0x24);" (assignment_expression "iVar2 = *(int *)(iVar9 + 0x24)" identifier = (pointer_expression "*(int *)(iVar9 + 0x24)" * (cast_expression "(int *)(iVar9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) ))))) ;) })) (return_statement "return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));" return (binary_expression "(in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_))" (parenthesized_expression "(in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             )" ( (binary_expression "in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))" identifier - (parenthesized_expression "(-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))" ( (binary_expression "-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_)" (binary_expression "-(uint)(-iVar2 != 0) - iVar6" (unary_expression "-(uint)(-iVar2 != 0)" - (call_expression "(uint)(-iVar2 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(-iVar2 != 0)" ( (binary_expression "-iVar2 != 0" (unary_expression "-iVar2" - identifier) != number_literal) )))) - identifier) & (binary_expression "in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_)" identifier - (call_expression "(uint)(in_a3 < in_a3 - param_1._0_4_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_a3 < in_a3 - param_1._0_4_)" ( (binary_expression "in_a3 < in_a3 - param_1._0_4_" identifier < (binary_expression "in_a3 - param_1._0_4_" identifier - (field_expression "param_1._0_4_" identifier . field_identifier))) ))))) ))) )) - (call_expression "(uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_))" ( (binary_expression "in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_)" identifier < (binary_expression "in_a3 - (-iVar2 & in_a3 - param_1._0_4_)" identifier - (parenthesized_expression "(-iVar2 & in_a3 - param_1._0_4_)" ( (binary_expression "-iVar2 & in_a3 - param_1._0_4_" (unary_expression "-iVar2" - identifier) & (binary_expression "in_a3 - param_1._0_4_" identifier - (field_expression "param_1._0_4_" identifier . field_identifier))) )))) )))) ;) })) (expression_statement "puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec;" (assignment_expression "puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec" identifier = (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar7,0x5c,PTR_DAT_0043226c + -0x5348)" ( identifier , number_literal , (binary_expression "PTR_DAT_0043226c + -0x5348" identifier + number_literal) ))) ;) })) (expression_statement "uVar10 = 0x69;" (assignment_expression "uVar10 = 0x69" identifier = number_literal) ;) (expression_statement "puVar11 = (undefined4 *)(PTR_DAT_0043226c + -0x528c);" (assignment_expression "puVar11 = (undefined4 *)(PTR_DAT_0043226c + -0x528c)" identifier = (cast_expression "(undefined4 *)(PTR_DAT_0043226c + -0x528c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043226c + -0x528c)" ( (binary_expression "PTR_DAT_0043226c + -0x528c" identifier + number_literal) )))) ;) (expression_statement "pcVar8 = puVar7 + -0x5cec;" (assignment_expression "pcVar8 = puVar7 + -0x5cec" identifier = (binary_expression "puVar7 + -0x5cec" identifier + number_literal)) ;) (expression_statement "puVar7 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar7 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(pcVar8,0x69);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(pcVar8,0x69)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar8,0x69)" ( identifier , number_literal ))) ;) (if_statement "if ((*pcVar8 != '\0') && (*(int *)(pcVar8 + 0x10) != 0)) {\n    (**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4);\n  }" if (parenthesized_expression "((*pcVar8 != '\0') && (*(int *)(pcVar8 + 0x10) != 0))" ( (binary_expression "(*pcVar8 != '\0') && (*(int *)(pcVar8 + 0x10) != 0)" (parenthesized_expression "(*pcVar8 != '\0')" ( (binary_expression "*pcVar8 != '\0'" (pointer_expression "*pcVar8" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(int *)(pcVar8 + 0x10) != 0)" ( (binary_expression "*(int *)(pcVar8 + 0x10) != 0" (pointer_expression "*(int *)(pcVar8 + 0x10)" * (cast_expression "(int *)(pcVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar8 + 0x10)" ( (binary_expression "pcVar8 + 0x10" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n    (**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4);\n  }" { (expression_statement "(**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4);" (call_expression "(**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4)" (parenthesized_expression "(**(code **)(puVar7 + 0x225524))" ( (pointer_expression "**(code **)(puVar7 + 0x225524)" * (pointer_expression "*(code **)(puVar7 + 0x225524)" * (cast_expression "(code **)(puVar7 + 0x225524)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x225524)" ( (binary_expression "puVar7 + 0x225524" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4)" ( (binary_expression "*(int *)(puVar7 + 0x2253cc) + -0x5d54" (pointer_expression "*(int *)(puVar7 + 0x2253cc)" * (cast_expression "(int *)(puVar7 + 0x2253cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x2253cc)" ( (binary_expression "puVar7 + 0x2253cc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar7 + 0x2253cc) + -0x54f4" (pointer_expression "*(int *)(puVar7 + 0x2253cc)" * (cast_expression "(int *)(puVar7 + 0x2253cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x2253cc)" ( (binary_expression "puVar7 + 0x2253cc" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "piVar14 = (int *)*puVar11;" (assignment_expression "piVar14 = (int *)*puVar11" identifier = (cast_expression "(int *)*puVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;) (expression_statement "piVar16 = (int *)puVar11[1];" (assignment_expression "piVar16 = (int *)puVar11[1]" identifier = (cast_expression "(int *)puVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar9 = *(int *)(puVar7 + 0x2253cc);" (assignment_expression "iVar9 = *(int *)(puVar7 + 0x2253cc)" identifier = (pointer_expression "*(int *)(puVar7 + 0x2253cc)" * (cast_expression "(int *)(puVar7 + 0x2253cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x2253cc)" ( (binary_expression "puVar7 + 0x2253cc" identifier + number_literal) ))))) ;) (if_statement "if (piVar14 != piVar16) {\n    iVar2 = *piVar14;\n    bVar1 = false;\n    iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820;\n    uVar13 = *(undefined4 *)(iVar2 + 0x58);\n    uVar12 = *(uint *)(iVar2 + 0x5c);\nLAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );\n  }" if (parenthesized_expression "(piVar14 != piVar16)" ( (binary_expression "piVar14 != piVar16" identifier != identifier) )) (compound_statement "{\n    iVar2 = *piVar14;\n    bVar1 = false;\n    iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820;\n    uVar13 = *(undefined4 *)(iVar2 + 0x58);\n    uVar12 = *(uint *)(iVar2 + 0x5c);\nLAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );\n  }" { (expression_statement "iVar2 = *piVar14;" (assignment_expression "iVar2 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820;" (assignment_expression "iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820" identifier = (binary_expression "*(int *)(puVar7 + 0x225514) + -0x2820" (pointer_expression "*(int *)(puVar7 + 0x225514)" * (cast_expression "(int *)(puVar7 + 0x225514)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x225514)" ( (binary_expression "puVar7 + 0x225514" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 0x5c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x5c)" * (cast_expression "(uint *)(iVar2 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );" statement_identifier : (do_statement "do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );" do (compound_statement "{\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    }" { (expression_statement "piVar17 = piVar14 + 1;" (assignment_expression "piVar17 = piVar14 + 1" identifier = (binary_expression "piVar14 + 1" identifier + number_literal)) ;) (expression_statement "piVar15 = piVar14;" (assignment_expression "piVar15 = piVar14" identifier = identifier) ;) (if_statement "if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }" if (parenthesized_expression "(*(int *)(iVar2 + 0x54) == 7)" ( (binary_expression "*(int *)(iVar2 + 0x54) == 7" (pointer_expression "*(int *)(iVar2 + 0x54)" * (cast_expression "(int *)(iVar2 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x54)" ( (binary_expression "iVar2 + 0x54" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }" { (expression_statement "uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);" (assignment_expression "uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12)" identifier = (call_expression "(**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12)" (parenthesized_expression "(**(code **)(puVar7 + 0x2281ac))" ( (pointer_expression "**(code **)(puVar7 + 0x2281ac)" * (pointer_expression "*(code **)(puVar7 + 0x2281ac)" * (cast_expression "(code **)(puVar7 + 0x2281ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2281ac)" ( (binary_expression "puVar7 + 0x2281ac" identifier + number_literal) ))))) )) (argument_list "(uVar13,uVar12)" ( identifier , identifier )))) ;) (expression_statement "uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);" (assignment_expression "uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13)" identifier = (call_expression "(**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260d8))" ( (pointer_expression "**(code **)(puVar7 + 0x2260d8)" * (pointer_expression "*(code **)(puVar7 + 0x2260d8)" * (cast_expression "(code **)(puVar7 + 0x2260d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2260d8)" ( (binary_expression "puVar7 + 0x2260d8" identifier + number_literal) ))))) )) (argument_list "(uVar10,4,uVar13)" ( identifier , number_literal , identifier )))) ;) (expression_statement "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);" (call_expression "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260dc))" ( (pointer_expression "**(code **)(puVar7 + 0x2260dc)" * (pointer_expression "*(code **)(puVar7 + 0x2260dc)" * (cast_expression "(code **)(puVar7 + 0x2260dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2260dc)" ( (binary_expression "puVar7 + 0x2260dc" identifier + number_literal) ))))) )) (argument_list "(uVar4,*piVar14,uVar13)" ( identifier , (pointer_expression "*piVar14" * identifier) , identifier ))) ;) (expression_statement "piVar16 = (int *)puVar11[1];" (assignment_expression "piVar16 = (int *)puVar11[1]" identifier = (cast_expression "(int *)puVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (if_statement "if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }" if (parenthesized_expression "(piVar16 == piVar17)" ( (binary_expression "piVar16 == piVar17" identifier == identifier) )) (compound_statement "{\n          iVar2 = *piVar14;\n        }" { (expression_statement "iVar2 = *piVar14;" (assignment_expression "iVar2 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) }) (else_clause "else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }" else (compound_statement "{\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }" { (expression_statement "iVar2 = piVar14[1];" (assignment_expression "iVar2 = piVar14[1]" identifier = (subscript_expression "piVar14[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar18 = *(code **)(puVar7 + 0x2281ac);" (assignment_expression "pcVar18 = *(code **)(puVar7 + 0x2281ac)" identifier = (pointer_expression "*(code **)(puVar7 + 0x2281ac)" * (cast_expression "(code **)(puVar7 + 0x2281ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2281ac)" ( (binary_expression "puVar7 + 0x2281ac" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }" if (parenthesized_expression "(*(int *)(iVar2 + 0x54) == 7)" ( (binary_expression "*(int *)(iVar2 + 0x54) == 7" (pointer_expression "*(int *)(iVar2 + 0x54)" * (cast_expression "(int *)(iVar2 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x54)" ( (binary_expression "iVar2 + 0x54" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }" { (do_statement "do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);" do (compound_statement "{\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            }" { (expression_statement "piVar15 = piVar17;" (assignment_expression "piVar15 = piVar17" identifier = identifier) ;) (expression_statement "uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));" (assignment_expression "uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" identifier = (call_expression "(*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0x5c)" * (cast_expression "(undefined4 *)(iVar2 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) )))) )))) ;) (expression_statement "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);" (call_expression "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260dc))" ( (pointer_expression "**(code **)(puVar7 + 0x2260dc)" * (pointer_expression "*(code **)(puVar7 + 0x2260dc)" * (cast_expression "(code **)(puVar7 + 0x2260dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2260dc)" ( (binary_expression "puVar7 + 0x2260dc" identifier + number_literal) ))))) )) (argument_list "(uVar4,*piVar15,uVar13)" ( identifier , (pointer_expression "*piVar15" * identifier) , identifier ))) ;) (expression_statement "piVar17 = piVar15 + 1;" (assignment_expression "piVar17 = piVar15 + 1" identifier = (binary_expression "piVar15 + 1" identifier + number_literal)) ;) (expression_statement "piVar16 = (int *)puVar11[1];" (assignment_expression "piVar16 = (int *)puVar11[1]" identifier = (cast_expression "(int *)puVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (if_statement "if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }" if (parenthesized_expression "(piVar16 == piVar17)" ( (binary_expression "piVar16 == piVar17" identifier == identifier) )) (compound_statement "{\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }" { (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 0x5c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x5c)" * (cast_expression "(uint *)(iVar2 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "piVar17 = piVar16;" (assignment_expression "piVar17 = piVar16" identifier = identifier) ;) (goto_statement "goto LAB_0020cf70;" goto statement_identifier ;) })) (expression_statement "iVar2 = piVar15[1];" (assignment_expression "iVar2 = piVar15[1]" identifier = (subscript_expression "piVar15[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar18 = *(code **)(puVar7 + 0x2281ac);" (assignment_expression "pcVar18 = *(code **)(puVar7 + 0x2281ac)" identifier = (pointer_expression "*(code **)(puVar7 + 0x2281ac)" * (cast_expression "(code **)(puVar7 + 0x2281ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2281ac)" ( (binary_expression "puVar7 + 0x2281ac" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*(int *)(iVar2 + 0x54) == 7)" ( (binary_expression "*(int *)(iVar2 + 0x54) == 7" (pointer_expression "*(int *)(iVar2 + 0x54)" * (cast_expression "(int *)(iVar2 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x54)" ( (binary_expression "iVar2 + 0x54" identifier + number_literal) )))) == number_literal) )) ;) (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 0x5c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x5c)" * (cast_expression "(uint *)(iVar2 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0020cf70;" goto statement_identifier ;) })) (expression_statement "iVar2 = *piVar14;" (assignment_expression "iVar2 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) }))) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 0x5c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x5c)" * (cast_expression "(uint *)(iVar2 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) ))))) ;) })) (labeled_statement "LAB_0020cf70:\n      piVar14 = piVar17;" statement_identifier : (expression_statement "piVar14 = piVar17;" (assignment_expression "piVar14 = piVar17" identifier = identifier) ;)) (if_statement "if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }" if (parenthesized_expression "((uVar12 & 0x400) == 0)" ( (binary_expression "(uVar12 & 0x400) == 0" (parenthesized_expression "(uVar12 & 0x400)" ( (binary_expression "uVar12 & 0x400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }" { (labeled_statement "LAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);" statement_identifier : (expression_statement "iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);" (assignment_expression "iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6)" identifier = (call_expression "(**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6)" (parenthesized_expression "(**(code **)(puVar7 + 0x2297a4))" ( (pointer_expression "**(code **)(puVar7 + 0x2297a4)" * (pointer_expression "*(code **)(puVar7 + 0x2297a4)" * (cast_expression "(code **)(puVar7 + 0x2297a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2297a4)" ( (binary_expression "puVar7 + 0x2297a4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar2 + 0x24),iVar6)" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x24)" * (cast_expression "(undefined4 *)(iVar2 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x24)" ( (binary_expression "iVar2 + 0x24" identifier + number_literal) )))) , identifier )))) ;)) (if_statement "if (iVar3 == 0) goto LAB_0020cf94;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0020cf94;" goto statement_identifier ;)) (if_statement "if (piVar16 == piVar14) break;" if (parenthesized_expression "(piVar16 == piVar14)" ( (binary_expression "piVar16 == piVar14" identifier == identifier) )) (break_statement "break;" break ;)) }) (else_clause "else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }" else (compound_statement "{\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }" { (if_statement "if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }" { (expression_statement "uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);" (assignment_expression "uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8)" identifier = (call_expression "(**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8)" (parenthesized_expression "(**(code **)(puVar7 + 0x229978))" ( (pointer_expression "**(code **)(puVar7 + 0x229978)" * (pointer_expression "*(code **)(puVar7 + 0x229978)" * (cast_expression "(code **)(puVar7 + 0x229978)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x229978)" ( (binary_expression "puVar7 + 0x229978" identifier + number_literal) ))))) )) (argument_list "(iVar9 + -0x59b8)" ( (binary_expression "iVar9 + -0x59b8" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(puVar7 + 0x225ee4))(uVar13);" (call_expression "(**(code **)(puVar7 + 0x225ee4))(uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x225ee4))" ( (pointer_expression "**(code **)(puVar7 + 0x225ee4)" * (pointer_expression "*(code **)(puVar7 + 0x225ee4)" * (cast_expression "(code **)(puVar7 + 0x225ee4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x225ee4)" ( (binary_expression "puVar7 + 0x225ee4" identifier + number_literal) ))))) )) (argument_list "(uVar13)" ( identifier ))) ;) (expression_statement "uVar13 = *(undefined4 *)(*piVar15 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(*piVar15 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(*piVar15 + 0x58)" * (cast_expression "(undefined4 *)(*piVar15 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar15 + 0x58)" ( (binary_expression "*piVar15 + 0x58" (pointer_expression "*piVar15" * identifier) + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(*piVar15 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(*piVar15 + 0x5c)" identifier = (pointer_expression "*(uint *)(*piVar15 + 0x5c)" * (cast_expression "(uint *)(*piVar15 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar15 + 0x5c)" ( (binary_expression "*piVar15 + 0x5c" (pointer_expression "*piVar15" * identifier) + number_literal) ))))) ;) })) (expression_statement "uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);" (assignment_expression "uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12)" identifier = (call_expression "(**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12)" (parenthesized_expression "(**(code **)(puVar7 + 0x2281ac))" ( (pointer_expression "**(code **)(puVar7 + 0x2281ac)" * (pointer_expression "*(code **)(puVar7 + 0x2281ac)" * (cast_expression "(code **)(puVar7 + 0x2281ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2281ac)" ( (binary_expression "puVar7 + 0x2281ac" identifier + number_literal) ))))) )) (argument_list "(uVar13,uVar12)" ( identifier , identifier )))) ;) (expression_statement "uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);" (assignment_expression "uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13)" identifier = (call_expression "(**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260d8))" ( (pointer_expression "**(code **)(puVar7 + 0x2260d8)" * (pointer_expression "*(code **)(puVar7 + 0x2260d8)" * (cast_expression "(code **)(puVar7 + 0x2260d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2260d8)" ( (binary_expression "puVar7 + 0x2260d8" identifier + number_literal) ))))) )) (argument_list "(uVar10,7,uVar13)" ( identifier , number_literal , identifier )))) ;) (expression_statement "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);" (call_expression "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260dc))" ( (pointer_expression "**(code **)(puVar7 + 0x2260dc)" * (pointer_expression "*(code **)(puVar7 + 0x2260dc)" * (cast_expression "(code **)(puVar7 + 0x2260dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2260dc)" ( (binary_expression "puVar7 + 0x2260dc" identifier + number_literal) ))))) )) (argument_list "(uVar4,*piVar15,uVar13)" ( identifier , (pointer_expression "*piVar15" * identifier) , identifier ))) ;) (expression_statement "piVar16 = (int *)puVar11[1];" (assignment_expression "piVar16 = (int *)puVar11[1]" identifier = (cast_expression "(int *)puVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (if_statement "if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }" if (parenthesized_expression "(piVar16 == piVar14)" ( (binary_expression "piVar16 == piVar14" identifier == identifier) )) (compound_statement "{\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }" { (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);" (assignment_expression "iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6)" identifier = (call_expression "(**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6)" (parenthesized_expression "(**(code **)(puVar7 + 0x2297a4))" ( (pointer_expression "**(code **)(puVar7 + 0x2297a4)" * (pointer_expression "*(code **)(puVar7 + 0x2297a4)" * (cast_expression "(code **)(puVar7 + 0x2297a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2297a4)" ( (binary_expression "puVar7 + 0x2297a4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar2 + 0x24),iVar6)" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x24)" * (cast_expression "(undefined4 *)(iVar2 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x24)" ( (binary_expression "iVar2 + 0x24" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar3 != 0) break;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) }) (else_clause "else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }" else (compound_statement "{\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }" { (expression_statement "iVar3 = piVar15[1];" (assignment_expression "iVar3 = piVar15[1]" identifier = (subscript_expression "piVar15[1]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = *(uint *)(iVar3 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(iVar3 + 0x5c)" identifier = (pointer_expression "*(uint *)(iVar3 + 0x5c)" * (cast_expression "(uint *)(iVar3 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x5c)" ( (binary_expression "iVar3 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(undefined4 *)(iVar3 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar3 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar3 + 0x58)" * (cast_expression "(undefined4 *)(iVar3 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x58)" ( (binary_expression "iVar3 + 0x58" identifier + number_literal) ))))) ;) (if_statement "if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }" if (parenthesized_expression "((uVar12 & 0x400) != 0)" ( (binary_expression "(uVar12 & 0x400) != 0" (parenthesized_expression "(uVar12 & 0x400)" ( (binary_expression "uVar12 & 0x400" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }" { (do_statement "do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);" do (compound_statement "{\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            }" { (expression_statement "piVar15 = piVar14;" (assignment_expression "piVar15 = piVar14" identifier = identifier) ;) (expression_statement "uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);" (assignment_expression "uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12)" identifier = (call_expression "(**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12)" (parenthesized_expression "(**(code **)(puVar7 + 0x2281ac))" ( (pointer_expression "**(code **)(puVar7 + 0x2281ac)" * (pointer_expression "*(code **)(puVar7 + 0x2281ac)" * (cast_expression "(code **)(puVar7 + 0x2281ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2281ac)" ( (binary_expression "puVar7 + 0x2281ac" identifier + number_literal) ))))) )) (argument_list "(uVar13,uVar12)" ( identifier , identifier )))) ;) (expression_statement "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);" (call_expression "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260dc))" ( (pointer_expression "**(code **)(puVar7 + 0x2260dc)" * (pointer_expression "*(code **)(puVar7 + 0x2260dc)" * (cast_expression "(code **)(puVar7 + 0x2260dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2260dc)" ( (binary_expression "puVar7 + 0x2260dc" identifier + number_literal) ))))) )) (argument_list "(uVar4,*piVar15,uVar13)" ( identifier , (pointer_expression "*piVar15" * identifier) , identifier ))) ;) (expression_statement "piVar14 = piVar15 + 1;" (assignment_expression "piVar14 = piVar15 + 1" identifier = (binary_expression "piVar15 + 1" identifier + number_literal)) ;) (expression_statement "piVar16 = (int *)puVar11[1];" (assignment_expression "piVar16 = (int *)puVar11[1]" identifier = (cast_expression "(int *)puVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (if_statement "if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }" if (parenthesized_expression "(piVar16 == piVar14)" ( (binary_expression "piVar16 == piVar14" identifier == identifier) )) (compound_statement "{\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }" { (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "piVar14 = piVar16;" (assignment_expression "piVar14 = piVar16" identifier = identifier) ;) (goto_statement "goto LAB_0020cf7c;" goto statement_identifier ;) })) (expression_statement "uVar12 = *(uint *)(piVar15[1] + 0x5c);" (assignment_expression "uVar12 = *(uint *)(piVar15[1] + 0x5c)" identifier = (pointer_expression "*(uint *)(piVar15[1] + 0x5c)" * (cast_expression "(uint *)(piVar15[1] + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar15[1] + 0x5c)" ( (binary_expression "piVar15[1] + 0x5c" (subscript_expression "piVar15[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "uVar13 = *(undefined4 *)(piVar15[1] + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(piVar15[1] + 0x58)" identifier = (pointer_expression "*(undefined4 *)(piVar15[1] + 0x58)" * (cast_expression "(undefined4 *)(piVar15[1] + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar15[1] + 0x58)" ( (binary_expression "piVar15[1] + 0x58" (subscript_expression "piVar15[1]" identifier [ number_literal ]) + number_literal) ))))) ;) }) while (parenthesized_expression "((uVar12 & 0x400) != 0)" ( (binary_expression "(uVar12 & 0x400) != 0" (parenthesized_expression "(uVar12 & 0x400)" ( (binary_expression "uVar12 & 0x400" identifier & number_literal) )) != number_literal) )) ;) (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (goto_statement "goto LAB_0020cf7c;" goto statement_identifier ;) })) (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);" (assignment_expression "iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6)" identifier = (call_expression "(**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6)" (parenthesized_expression "(**(code **)(puVar7 + 0x2297a4))" ( (pointer_expression "**(code **)(puVar7 + 0x2297a4)" * (pointer_expression "*(code **)(puVar7 + 0x2297a4)" * (cast_expression "(code **)(puVar7 + 0x2297a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2297a4)" ( (binary_expression "puVar7 + 0x2297a4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar2 + 0x24),iVar6)" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x24)" * (cast_expression "(undefined4 *)(iVar2 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x24)" ( (binary_expression "iVar2 + 0x24" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "iVar2 = iVar3;" (assignment_expression "iVar2 = iVar3" identifier = identifier) ;) (goto_statement "goto LAB_0020cf64;" goto statement_identifier ;) })) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) }))) (labeled_statement "LAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));" statement_identifier : (expression_statement "uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));" (assignment_expression "uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" identifier = (call_expression "(**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" (parenthesized_expression "(**(code **)(puVar7 + 0x2281ac))" ( (pointer_expression "**(code **)(puVar7 + 0x2281ac)" * (pointer_expression "*(code **)(puVar7 + 0x2281ac)" * (cast_expression "(code **)(puVar7 + 0x2281ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2281ac)" ( (binary_expression "puVar7 + 0x2281ac" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0x5c)" * (cast_expression "(undefined4 *)(iVar2 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) )))) )))) ;)) (expression_statement "uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);" (assignment_expression "uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13)" identifier = (call_expression "(**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260d8))" ( (pointer_expression "**(code **)(puVar7 + 0x2260d8)" * (pointer_expression "*(code **)(puVar7 + 0x2260d8)" * (cast_expression "(code **)(puVar7 + 0x2260d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2260d8)" ( (binary_expression "puVar7 + 0x2260d8" identifier + number_literal) ))))) )) (argument_list "(uVar10,3,uVar13)" ( identifier , number_literal , identifier )))) ;) (expression_statement "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);" (call_expression "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260dc))" ( (pointer_expression "**(code **)(puVar7 + 0x2260dc)" * (pointer_expression "*(code **)(puVar7 + 0x2260dc)" * (cast_expression "(code **)(puVar7 + 0x2260dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2260dc)" ( (binary_expression "puVar7 + 0x2260dc" identifier + number_literal) ))))) )) (argument_list "(uVar4,*piVar15,uVar13)" ( identifier , (pointer_expression "*piVar15" * identifier) , identifier ))) ;) (expression_statement "piVar16 = (int *)puVar11[1];" (assignment_expression "piVar16 = (int *)puVar11[1]" identifier = (cast_expression "(int *)puVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (if_statement "if (piVar16 == piVar14) break;" if (parenthesized_expression "(piVar16 == piVar14)" ( (binary_expression "piVar16 == piVar14" identifier == identifier) )) (break_statement "break;" break ;)) }))) (expression_statement "iVar2 = piVar15[1];" (assignment_expression "iVar2 = piVar15[1]" identifier = (subscript_expression "piVar15[1]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 0x5c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x5c)" * (cast_expression "(uint *)(iVar2 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "pcVar8[0x1f] = '\x01';" (assignment_expression "pcVar8[0x1f] = '\x01'" (subscript_expression "pcVar8[0x1f]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* DWARF original prototype: uint64_t header_size_adjustment(Script_sections * this, uint64_t lma,\n   size_t sizeof_headers) */\n\nuint64_t __thiscall\ngold::Script_sections::header_size_adjustment\n          (Script_sections *this,uint64_t lma,size_t sizeof_headers)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  uint uVar6;\n  int iVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  int iVar10;\n  undefined4 uVar11;\n  int in_a2;\n  undefined4 *puVar12;\n  uint in_a3;\n  undefined4 uVar13;\n  int *piVar14;\n  int *piVar15;\n  int *piVar16;\n  int *piVar17;\n  code *pcVar18;\n  \n  iVar10 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc);\n  puVar8 = PTR_s_alize_xindex_004323b4;\n  if (iVar10 != 0) {\n    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    if (iVar2 != 0) {\n      iVar7 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar7 == 0 && iVar2 == 0) {\n        iVar10 = *(int *)(iVar10 + 4);\n        iVar7 = *(int *)(iVar10 + 0x20);\n        iVar2 = *(int *)(iVar10 + 0x24);\n      }\n      uVar6 = in_a3 - (-iVar2 & in_a3 - lma._0_4_);\n      return CONCAT44((in_a2 - (-(uint)(-iVar2 != 0) - iVar7 &\n                               in_a2 - (uint)(in_a3 < in_a3 - lma._0_4_))) - (uint)(in_a3 < uVar6),\n                      uVar6);\n    }\n    puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0x5c,PTR_s__0043226c + -0x5348);\n  }\n  uVar11 = 0x69;\n  puVar12 = (undefined4 *)(PTR_s__0043226c + -0x528c);\n  pcVar9 = puVar8 + -0x5cec;\n  puVar8 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(pcVar9,0x69);\n  if ((*pcVar9 != '\0') && (*(int *)(pcVar9 + 0x10) != 0)) {\n    (**(code **)(puVar8 + 0x225524))\n              (*(int *)(puVar8 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar8 + 0x2253cc) + -0x54f4);\n  }\n  piVar14 = (int *)*puVar12;\n  piVar16 = (int *)puVar12[1];\n  iVar10 = *(int *)(puVar8 + 0x2253cc);\n  if (piVar14 != piVar16) {\n    iVar2 = *piVar14;\n    bVar1 = false;\n    iVar7 = *(int *)(puVar8 + 0x225514) + -0x2820;\n    uVar13 = *(undefined4 *)(iVar2 + 0x58);\n    uVar6 = *(uint *)(iVar2 + 0x5c);\nLAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,4,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar8 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar6 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar8 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar6 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar6 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar6 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar8 + 0x229978))(iVar10 + -0x59b8);\n          (**(code **)(puVar8 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar6 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,7,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar6 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar6 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar6 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar6 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,3,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar6 = *(uint *)(iVar2 + 0x5c);\n    } while( true );\n  }\n  pcVar9[0x1f] = '\x01';\n  return CONCAT44(1,pcVar9);\n}\n\n" comment comment comment (function_definition "uint64_t __thiscall\ngold::Script_sections::header_size_adjustment\n          (Script_sections *this,uint64_t lma,size_t sizeof_headers)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  uint uVar6;\n  int iVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  int iVar10;\n  undefined4 uVar11;\n  int in_a2;\n  undefined4 *puVar12;\n  uint in_a3;\n  undefined4 uVar13;\n  int *piVar14;\n  int *piVar15;\n  int *piVar16;\n  int *piVar17;\n  code *pcVar18;\n  \n  iVar10 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc);\n  puVar8 = PTR_s_alize_xindex_004323b4;\n  if (iVar10 != 0) {\n    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    if (iVar2 != 0) {\n      iVar7 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar7 == 0 && iVar2 == 0) {\n        iVar10 = *(int *)(iVar10 + 4);\n        iVar7 = *(int *)(iVar10 + 0x20);\n        iVar2 = *(int *)(iVar10 + 0x24);\n      }\n      uVar6 = in_a3 - (-iVar2 & in_a3 - lma._0_4_);\n      return CONCAT44((in_a2 - (-(uint)(-iVar2 != 0) - iVar7 &\n                               in_a2 - (uint)(in_a3 < in_a3 - lma._0_4_))) - (uint)(in_a3 < uVar6),\n                      uVar6);\n    }\n    puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0x5c,PTR_s__0043226c + -0x5348);\n  }\n  uVar11 = 0x69;\n  puVar12 = (undefined4 *)(PTR_s__0043226c + -0x528c);\n  pcVar9 = puVar8 + -0x5cec;\n  puVar8 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(pcVar9,0x69);\n  if ((*pcVar9 != '\0') && (*(int *)(pcVar9 + 0x10) != 0)) {\n    (**(code **)(puVar8 + 0x225524))\n              (*(int *)(puVar8 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar8 + 0x2253cc) + -0x54f4);\n  }\n  piVar14 = (int *)*puVar12;\n  piVar16 = (int *)puVar12[1];\n  iVar10 = *(int *)(puVar8 + 0x2253cc);\n  if (piVar14 != piVar16) {\n    iVar2 = *piVar14;\n    bVar1 = false;\n    iVar7 = *(int *)(puVar8 + 0x225514) + -0x2820;\n    uVar13 = *(undefined4 *)(iVar2 + 0x58);\n    uVar6 = *(uint *)(iVar2 + 0x5c);\nLAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,4,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar8 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar6 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar8 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar6 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar6 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar6 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar8 + 0x229978))(iVar10 + -0x59b8);\n          (**(code **)(puVar8 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar6 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,7,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar6 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar6 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar6 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar6 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,3,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar6 = *(uint *)(iVar2 + 0x5c);\n    } while( true );\n  }\n  pcVar9[0x1f] = '\x01';\n  return CONCAT44(1,pcVar9);\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Script_sections::" identifier : : identifier : :) (function_declarator "header_size_adjustment\n          (Script_sections *this,uint64_t lma,size_t sizeof_headers)" identifier (parameter_list "(Script_sections *this,uint64_t lma,size_t sizeof_headers)" ( (parameter_declaration "Script_sections *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "uint64_t lma" primitive_type identifier) , (parameter_declaration "size_t sizeof_headers" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  uint uVar6;\n  int iVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  int iVar10;\n  undefined4 uVar11;\n  int in_a2;\n  undefined4 *puVar12;\n  uint in_a3;\n  undefined4 uVar13;\n  int *piVar14;\n  int *piVar15;\n  int *piVar16;\n  int *piVar17;\n  code *pcVar18;\n  \n  iVar10 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc);\n  puVar8 = PTR_s_alize_xindex_004323b4;\n  if (iVar10 != 0) {\n    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    if (iVar2 != 0) {\n      iVar7 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar7 == 0 && iVar2 == 0) {\n        iVar10 = *(int *)(iVar10 + 4);\n        iVar7 = *(int *)(iVar10 + 0x20);\n        iVar2 = *(int *)(iVar10 + 0x24);\n      }\n      uVar6 = in_a3 - (-iVar2 & in_a3 - lma._0_4_);\n      return CONCAT44((in_a2 - (-(uint)(-iVar2 != 0) - iVar7 &\n                               in_a2 - (uint)(in_a3 < in_a3 - lma._0_4_))) - (uint)(in_a3 < uVar6),\n                      uVar6);\n    }\n    puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0x5c,PTR_s__0043226c + -0x5348);\n  }\n  uVar11 = 0x69;\n  puVar12 = (undefined4 *)(PTR_s__0043226c + -0x528c);\n  pcVar9 = puVar8 + -0x5cec;\n  puVar8 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(pcVar9,0x69);\n  if ((*pcVar9 != '\0') && (*(int *)(pcVar9 + 0x10) != 0)) {\n    (**(code **)(puVar8 + 0x225524))\n              (*(int *)(puVar8 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar8 + 0x2253cc) + -0x54f4);\n  }\n  piVar14 = (int *)*puVar12;\n  piVar16 = (int *)puVar12[1];\n  iVar10 = *(int *)(puVar8 + 0x2253cc);\n  if (piVar14 != piVar16) {\n    iVar2 = *piVar14;\n    bVar1 = false;\n    iVar7 = *(int *)(puVar8 + 0x225514) + -0x2820;\n    uVar13 = *(undefined4 *)(iVar2 + 0x58);\n    uVar6 = *(uint *)(iVar2 + 0x5c);\nLAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,4,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar8 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar6 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar8 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar6 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar6 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar6 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar8 + 0x229978))(iVar10 + -0x59b8);\n          (**(code **)(puVar8 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar6 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,7,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar6 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar6 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar6 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar6 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,3,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar6 = *(uint *)(iVar2 + 0x5c);\n    } while( true );\n  }\n  pcVar9[0x1f] = '\x01';\n  return CONCAT44(1,pcVar9);\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "int in_a2;" primitive_type identifier ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uint in_a3;" type_identifier identifier ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "code *pcVar18;" type_identifier (pointer_declarator "*pcVar18" * identifier) ;) (expression_statement "iVar10 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc);" (assignment_expression "iVar10 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc)" identifier = (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 0xc" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (expression_statement "puVar8 = PTR_s_alize_xindex_004323b4;" (assignment_expression "puVar8 = PTR_s_alize_xindex_004323b4" identifier = identifier) ;) (if_statement "if (iVar10 != 0) {\n    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    if (iVar2 != 0) {\n      iVar7 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar7 == 0 && iVar2 == 0) {\n        iVar10 = *(int *)(iVar10 + 4);\n        iVar7 = *(int *)(iVar10 + 0x20);\n        iVar2 = *(int *)(iVar10 + 0x24);\n      }\n      uVar6 = in_a3 - (-iVar2 & in_a3 - lma._0_4_);\n      return CONCAT44((in_a2 - (-(uint)(-iVar2 != 0) - iVar7 &\n                               in_a2 - (uint)(in_a3 < in_a3 - lma._0_4_))) - (uint)(in_a3 < uVar6),\n                      uVar6);\n    }\n    puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0x5c,PTR_s__0043226c + -0x5348);\n  }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    if (iVar2 != 0) {\n      iVar7 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar7 == 0 && iVar2 == 0) {\n        iVar10 = *(int *)(iVar10 + 4);\n        iVar7 = *(int *)(iVar10 + 0x20);\n        iVar2 = *(int *)(iVar10 + 0x24);\n      }\n      uVar6 = in_a3 - (-iVar2 & in_a3 - lma._0_4_);\n      return CONCAT44((in_a2 - (-(uint)(-iVar2 != 0) - iVar7 &\n                               in_a2 - (uint)(in_a3 < in_a3 - lma._0_4_))) - (uint)(in_a3 < uVar6),\n                      uVar6);\n    }\n    puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0x5c,PTR_s__0043226c + -0x5348);\n  }" { (expression_statement "iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);" (assignment_expression "iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8)" identifier = (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (iVar2 != 0) {\n      iVar7 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar7 == 0 && iVar2 == 0) {\n        iVar10 = *(int *)(iVar10 + 4);\n        iVar7 = *(int *)(iVar10 + 0x20);\n        iVar2 = *(int *)(iVar10 + 0x24);\n      }\n      uVar6 = in_a3 - (-iVar2 & in_a3 - lma._0_4_);\n      return CONCAT44((in_a2 - (-(uint)(-iVar2 != 0) - iVar7 &\n                               in_a2 - (uint)(in_a3 < in_a3 - lma._0_4_))) - (uint)(in_a3 < uVar6),\n                      uVar6);\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar7 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar7 == 0 && iVar2 == 0) {\n        iVar10 = *(int *)(iVar10 + 4);\n        iVar7 = *(int *)(iVar10 + 0x20);\n        iVar2 = *(int *)(iVar10 + 0x24);\n      }\n      uVar6 = in_a3 - (-iVar2 & in_a3 - lma._0_4_);\n      return CONCAT44((in_a2 - (-(uint)(-iVar2 != 0) - iVar7 &\n                               in_a2 - (uint)(in_a3 < in_a3 - lma._0_4_))) - (uint)(in_a3 < uVar6),\n                      uVar6);\n    }" { (expression_statement "iVar7 = *(int *)(iVar2 + 0x5228);" (assignment_expression "iVar7 = *(int *)(iVar2 + 0x5228)" identifier = (pointer_expression "*(int *)(iVar2 + 0x5228)" * (cast_expression "(int *)(iVar2 + 0x5228)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5228)" ( (binary_expression "iVar2 + 0x5228" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar2 + 0x522c);" (assignment_expression "iVar2 = *(int *)(iVar2 + 0x522c)" identifier = (pointer_expression "*(int *)(iVar2 + 0x522c)" * (cast_expression "(int *)(iVar2 + 0x522c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x522c)" ( (binary_expression "iVar2 + 0x522c" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 == 0 && iVar2 == 0) {\n        iVar10 = *(int *)(iVar10 + 4);\n        iVar7 = *(int *)(iVar10 + 0x20);\n        iVar2 = *(int *)(iVar10 + 0x24);\n      }" if (parenthesized_expression "(iVar7 == 0 && iVar2 == 0)" ( (binary_expression "iVar7 == 0 && iVar2 == 0" (binary_expression "iVar7 == 0" identifier == number_literal) && (binary_expression "iVar2 == 0" identifier == number_literal)) )) (compound_statement "{\n        iVar10 = *(int *)(iVar10 + 4);\n        iVar7 = *(int *)(iVar10 + 0x20);\n        iVar2 = *(int *)(iVar10 + 0x24);\n      }" { (expression_statement "iVar10 = *(int *)(iVar10 + 4);" (assignment_expression "iVar10 = *(int *)(iVar10 + 4)" identifier = (pointer_expression "*(int *)(iVar10 + 4)" * (cast_expression "(int *)(iVar10 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 4)" ( (binary_expression "iVar10 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(iVar10 + 0x20);" (assignment_expression "iVar7 = *(int *)(iVar10 + 0x20)" identifier = (pointer_expression "*(int *)(iVar10 + 0x20)" * (cast_expression "(int *)(iVar10 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x20)" ( (binary_expression "iVar10 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar10 + 0x24);" (assignment_expression "iVar2 = *(int *)(iVar10 + 0x24)" identifier = (pointer_expression "*(int *)(iVar10 + 0x24)" * (cast_expression "(int *)(iVar10 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x24)" ( (binary_expression "iVar10 + 0x24" identifier + number_literal) ))))) ;) })) (expression_statement "uVar6 = in_a3 - (-iVar2 & in_a3 - lma._0_4_);" (assignment_expression "uVar6 = in_a3 - (-iVar2 & in_a3 - lma._0_4_)" identifier = (binary_expression "in_a3 - (-iVar2 & in_a3 - lma._0_4_)" identifier - (parenthesized_expression "(-iVar2 & in_a3 - lma._0_4_)" ( (binary_expression "-iVar2 & in_a3 - lma._0_4_" (unary_expression "-iVar2" - identifier) & (binary_expression "in_a3 - lma._0_4_" identifier - (field_expression "lma._0_4_" identifier . field_identifier))) )))) ;) (return_statement "return CONCAT44((in_a2 - (-(uint)(-iVar2 != 0) - iVar7 &\n                               in_a2 - (uint)(in_a3 < in_a3 - lma._0_4_))) - (uint)(in_a3 < uVar6),\n                      uVar6);" return (call_expression "CONCAT44((in_a2 - (-(uint)(-iVar2 != 0) - iVar7 &\n                               in_a2 - (uint)(in_a3 < in_a3 - lma._0_4_))) - (uint)(in_a3 < uVar6),\n                      uVar6)" identifier (argument_list "((in_a2 - (-(uint)(-iVar2 != 0) - iVar7 &\n                               in_a2 - (uint)(in_a3 < in_a3 - lma._0_4_))) - (uint)(in_a3 < uVar6),\n                      uVar6)" ( (binary_expression "(in_a2 - (-(uint)(-iVar2 != 0) - iVar7 &\n                               in_a2 - (uint)(in_a3 < in_a3 - lma._0_4_))) - (uint)(in_a3 < uVar6)" (parenthesized_expression "(in_a2 - (-(uint)(-iVar2 != 0) - iVar7 &\n                               in_a2 - (uint)(in_a3 < in_a3 - lma._0_4_)))" ( (binary_expression "in_a2 - (-(uint)(-iVar2 != 0) - iVar7 &\n                               in_a2 - (uint)(in_a3 < in_a3 - lma._0_4_))" identifier - (parenthesized_expression "(-(uint)(-iVar2 != 0) - iVar7 &\n                               in_a2 - (uint)(in_a3 < in_a3 - lma._0_4_))" ( (binary_expression "-(uint)(-iVar2 != 0) - iVar7 &\n                               in_a2 - (uint)(in_a3 < in_a3 - lma._0_4_)" (binary_expression "-(uint)(-iVar2 != 0) - iVar7" (unary_expression "-(uint)(-iVar2 != 0)" - (call_expression "(uint)(-iVar2 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(-iVar2 != 0)" ( (binary_expression "-iVar2 != 0" (unary_expression "-iVar2" - identifier) != number_literal) )))) - identifier) & (binary_expression "in_a2 - (uint)(in_a3 < in_a3 - lma._0_4_)" identifier - (call_expression "(uint)(in_a3 < in_a3 - lma._0_4_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_a3 < in_a3 - lma._0_4_)" ( (binary_expression "in_a3 < in_a3 - lma._0_4_" identifier < (binary_expression "in_a3 - lma._0_4_" identifier - (field_expression "lma._0_4_" identifier . field_identifier))) ))))) ))) )) - (call_expression "(uint)(in_a3 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_a3 < uVar6)" ( (binary_expression "in_a3 < uVar6" identifier < identifier) )))) , identifier ))) ;) })) (expression_statement "puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;" (assignment_expression "puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec" identifier = (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0x5c,PTR_s__0043226c + -0x5348);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0x5c,PTR_s__0043226c + -0x5348)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar8,0x5c,PTR_s__0043226c + -0x5348)" ( identifier , number_literal , (binary_expression "PTR_s__0043226c + -0x5348" identifier + number_literal) ))) ;) })) (expression_statement "uVar11 = 0x69;" (assignment_expression "uVar11 = 0x69" identifier = number_literal) ;) (expression_statement "puVar12 = (undefined4 *)(PTR_s__0043226c + -0x528c);" (assignment_expression "puVar12 = (undefined4 *)(PTR_s__0043226c + -0x528c)" identifier = (cast_expression "(undefined4 *)(PTR_s__0043226c + -0x528c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s__0043226c + -0x528c)" ( (binary_expression "PTR_s__0043226c + -0x528c" identifier + number_literal) )))) ;) (expression_statement "pcVar9 = puVar8 + -0x5cec;" (assignment_expression "pcVar9 = puVar8 + -0x5cec" identifier = (binary_expression "puVar8 + -0x5cec" identifier + number_literal)) ;) (expression_statement "puVar8 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar8 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(pcVar9,0x69);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(pcVar9,0x69)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar9,0x69)" ( identifier , number_literal ))) ;) (if_statement "if ((*pcVar9 != '\0') && (*(int *)(pcVar9 + 0x10) != 0)) {\n    (**(code **)(puVar8 + 0x225524))\n              (*(int *)(puVar8 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar8 + 0x2253cc) + -0x54f4);\n  }" if (parenthesized_expression "((*pcVar9 != '\0') && (*(int *)(pcVar9 + 0x10) != 0))" ( (binary_expression "(*pcVar9 != '\0') && (*(int *)(pcVar9 + 0x10) != 0)" (parenthesized_expression "(*pcVar9 != '\0')" ( (binary_expression "*pcVar9 != '\0'" (pointer_expression "*pcVar9" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(int *)(pcVar9 + 0x10) != 0)" ( (binary_expression "*(int *)(pcVar9 + 0x10) != 0" (pointer_expression "*(int *)(pcVar9 + 0x10)" * (cast_expression "(int *)(pcVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x10)" ( (binary_expression "pcVar9 + 0x10" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n    (**(code **)(puVar8 + 0x225524))\n              (*(int *)(puVar8 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar8 + 0x2253cc) + -0x54f4);\n  }" { (expression_statement "(**(code **)(puVar8 + 0x225524))\n              (*(int *)(puVar8 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar8 + 0x2253cc) + -0x54f4);" (call_expression "(**(code **)(puVar8 + 0x225524))\n              (*(int *)(puVar8 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar8 + 0x2253cc) + -0x54f4)" (parenthesized_expression "(**(code **)(puVar8 + 0x225524))" ( (pointer_expression "**(code **)(puVar8 + 0x225524)" * (pointer_expression "*(code **)(puVar8 + 0x225524)" * (cast_expression "(code **)(puVar8 + 0x225524)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x225524)" ( (binary_expression "puVar8 + 0x225524" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar8 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar8 + 0x2253cc) + -0x54f4)" ( (binary_expression "*(int *)(puVar8 + 0x2253cc) + -0x5d54" (pointer_expression "*(int *)(puVar8 + 0x2253cc)" * (cast_expression "(int *)(puVar8 + 0x2253cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2253cc)" ( (binary_expression "puVar8 + 0x2253cc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar8 + 0x2253cc) + -0x54f4" (pointer_expression "*(int *)(puVar8 + 0x2253cc)" * (cast_expression "(int *)(puVar8 + 0x2253cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2253cc)" ( (binary_expression "puVar8 + 0x2253cc" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "piVar14 = (int *)*puVar12;" (assignment_expression "piVar14 = (int *)*puVar12" identifier = (cast_expression "(int *)*puVar12" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar12" * identifier))) ;) (expression_statement "piVar16 = (int *)puVar12[1];" (assignment_expression "piVar16 = (int *)puVar12[1]" identifier = (cast_expression "(int *)puVar12[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar10 = *(int *)(puVar8 + 0x2253cc);" (assignment_expression "iVar10 = *(int *)(puVar8 + 0x2253cc)" identifier = (pointer_expression "*(int *)(puVar8 + 0x2253cc)" * (cast_expression "(int *)(puVar8 + 0x2253cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2253cc)" ( (binary_expression "puVar8 + 0x2253cc" identifier + number_literal) ))))) ;) (if_statement "if (piVar14 != piVar16) {\n    iVar2 = *piVar14;\n    bVar1 = false;\n    iVar7 = *(int *)(puVar8 + 0x225514) + -0x2820;\n    uVar13 = *(undefined4 *)(iVar2 + 0x58);\n    uVar6 = *(uint *)(iVar2 + 0x5c);\nLAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,4,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar8 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar6 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar8 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar6 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar6 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar6 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar8 + 0x229978))(iVar10 + -0x59b8);\n          (**(code **)(puVar8 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar6 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,7,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar6 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar6 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar6 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar6 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,3,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar6 = *(uint *)(iVar2 + 0x5c);\n    } while( true );\n  }" if (parenthesized_expression "(piVar14 != piVar16)" ( (binary_expression "piVar14 != piVar16" identifier != identifier) )) (compound_statement "{\n    iVar2 = *piVar14;\n    bVar1 = false;\n    iVar7 = *(int *)(puVar8 + 0x225514) + -0x2820;\n    uVar13 = *(undefined4 *)(iVar2 + 0x58);\n    uVar6 = *(uint *)(iVar2 + 0x5c);\nLAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,4,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar8 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar6 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar8 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar6 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar6 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar6 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar8 + 0x229978))(iVar10 + -0x59b8);\n          (**(code **)(puVar8 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar6 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,7,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar6 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar6 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar6 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar6 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,3,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar6 = *(uint *)(iVar2 + 0x5c);\n    } while( true );\n  }" { (expression_statement "iVar2 = *piVar14;" (assignment_expression "iVar2 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "iVar7 = *(int *)(puVar8 + 0x225514) + -0x2820;" (assignment_expression "iVar7 = *(int *)(puVar8 + 0x225514) + -0x2820" identifier = (binary_expression "*(int *)(puVar8 + 0x225514) + -0x2820" (pointer_expression "*(int *)(puVar8 + 0x225514)" * (cast_expression "(int *)(puVar8 + 0x225514)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x225514)" ( (binary_expression "puVar8 + 0x225514" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar6 = *(uint *)(iVar2 + 0x5c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x5c)" * (cast_expression "(uint *)(iVar2 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,4,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar8 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar6 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar8 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar6 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar6 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar6 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar8 + 0x229978))(iVar10 + -0x59b8);\n          (**(code **)(puVar8 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar6 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,7,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar6 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar6 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar6 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar6 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,3,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar6 = *(uint *)(iVar2 + 0x5c);\n    } while( true );" statement_identifier : (do_statement "do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,4,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar8 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar6 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar8 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar6 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar6 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar6 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar8 + 0x229978))(iVar10 + -0x59b8);\n          (**(code **)(puVar8 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar6 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,7,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar6 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar6 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar6 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar6 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,3,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar6 = *(uint *)(iVar2 + 0x5c);\n    } while( true );" do (compound_statement "{\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,4,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar8 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar6 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar8 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar6 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar6 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar6 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar8 + 0x229978))(iVar10 + -0x59b8);\n          (**(code **)(puVar8 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar6 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,7,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar6 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar6 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar6 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar6 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,3,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar6 = *(uint *)(iVar2 + 0x5c);\n    }" { (expression_statement "piVar17 = piVar14 + 1;" (assignment_expression "piVar17 = piVar14 + 1" identifier = (binary_expression "piVar14 + 1" identifier + number_literal)) ;) (expression_statement "piVar15 = piVar14;" (assignment_expression "piVar15 = piVar14" identifier = identifier) ;) (if_statement "if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,4,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar8 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar6 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar8 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar6 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar6 = *(uint *)(iVar2 + 0x5c);\n      }" if (parenthesized_expression "(*(int *)(iVar2 + 0x54) == 7)" ( (binary_expression "*(int *)(iVar2 + 0x54) == 7" (pointer_expression "*(int *)(iVar2 + 0x54)" * (cast_expression "(int *)(iVar2 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x54)" ( (binary_expression "iVar2 + 0x54" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,4,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar8 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar6 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar8 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar6 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar6 = *(uint *)(iVar2 + 0x5c);\n      }" { (expression_statement "uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);" (assignment_expression "uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6)" identifier = (call_expression "(**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6)" (parenthesized_expression "(**(code **)(puVar8 + 0x2281ac))" ( (pointer_expression "**(code **)(puVar8 + 0x2281ac)" * (pointer_expression "*(code **)(puVar8 + 0x2281ac)" * (cast_expression "(code **)(puVar8 + 0x2281ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2281ac)" ( (binary_expression "puVar8 + 0x2281ac" identifier + number_literal) ))))) )) (argument_list "(uVar13,uVar6)" ( identifier , identifier )))) ;) (expression_statement "uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,4,uVar13);" (assignment_expression "uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,4,uVar13)" identifier = (call_expression "(**(code **)(puVar8 + 0x2260d8))(uVar11,4,uVar13)" (parenthesized_expression "(**(code **)(puVar8 + 0x2260d8))" ( (pointer_expression "**(code **)(puVar8 + 0x2260d8)" * (pointer_expression "*(code **)(puVar8 + 0x2260d8)" * (cast_expression "(code **)(puVar8 + 0x2260d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2260d8)" ( (binary_expression "puVar8 + 0x2260d8" identifier + number_literal) ))))) )) (argument_list "(uVar11,4,uVar13)" ( identifier , number_literal , identifier )))) ;) (expression_statement "(**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar14,uVar13);" (call_expression "(**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar14,uVar13)" (parenthesized_expression "(**(code **)(puVar8 + 0x2260dc))" ( (pointer_expression "**(code **)(puVar8 + 0x2260dc)" * (pointer_expression "*(code **)(puVar8 + 0x2260dc)" * (cast_expression "(code **)(puVar8 + 0x2260dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2260dc)" ( (binary_expression "puVar8 + 0x2260dc" identifier + number_literal) ))))) )) (argument_list "(uVar4,*piVar14,uVar13)" ( identifier , (pointer_expression "*piVar14" * identifier) , identifier ))) ;) (expression_statement "piVar16 = (int *)puVar12[1];" (assignment_expression "piVar16 = (int *)puVar12[1]" identifier = (cast_expression "(int *)puVar12[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[1]" identifier [ number_literal ]))) ;) (if_statement "if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar8 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar6 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar8 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar6 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }" if (parenthesized_expression "(piVar16 == piVar17)" ( (binary_expression "piVar16 == piVar17" identifier == identifier) )) (compound_statement "{\n          iVar2 = *piVar14;\n        }" { (expression_statement "iVar2 = *piVar14;" (assignment_expression "iVar2 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) }) (else_clause "else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar8 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar6 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar8 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar6 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }" else (compound_statement "{\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar8 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar6 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar8 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar6 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }" { (expression_statement "iVar2 = piVar14[1];" (assignment_expression "iVar2 = piVar14[1]" identifier = (subscript_expression "piVar14[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar18 = *(code **)(puVar8 + 0x2281ac);" (assignment_expression "pcVar18 = *(code **)(puVar8 + 0x2281ac)" identifier = (pointer_expression "*(code **)(puVar8 + 0x2281ac)" * (cast_expression "(code **)(puVar8 + 0x2281ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2281ac)" ( (binary_expression "puVar8 + 0x2281ac" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar6 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar8 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar6 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }" if (parenthesized_expression "(*(int *)(iVar2 + 0x54) == 7)" ( (binary_expression "*(int *)(iVar2 + 0x54) == 7" (pointer_expression "*(int *)(iVar2 + 0x54)" * (cast_expression "(int *)(iVar2 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x54)" ( (binary_expression "iVar2 + 0x54" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar6 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar8 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar6 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }" { (do_statement "do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar6 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar8 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);" do (compound_statement "{\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar6 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar8 + 0x2281ac);\n            }" { (expression_statement "piVar15 = piVar17;" (assignment_expression "piVar15 = piVar17" identifier = identifier) ;) (expression_statement "uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));" (assignment_expression "uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" identifier = (call_expression "(*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0x5c)" * (cast_expression "(undefined4 *)(iVar2 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) )))) )))) ;) (expression_statement "(**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);" (call_expression "(**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13)" (parenthesized_expression "(**(code **)(puVar8 + 0x2260dc))" ( (pointer_expression "**(code **)(puVar8 + 0x2260dc)" * (pointer_expression "*(code **)(puVar8 + 0x2260dc)" * (cast_expression "(code **)(puVar8 + 0x2260dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2260dc)" ( (binary_expression "puVar8 + 0x2260dc" identifier + number_literal) ))))) )) (argument_list "(uVar4,*piVar15,uVar13)" ( identifier , (pointer_expression "*piVar15" * identifier) , identifier ))) ;) (expression_statement "piVar17 = piVar15 + 1;" (assignment_expression "piVar17 = piVar15 + 1" identifier = (binary_expression "piVar15 + 1" identifier + number_literal)) ;) (expression_statement "piVar16 = (int *)puVar12[1];" (assignment_expression "piVar16 = (int *)puVar12[1]" identifier = (cast_expression "(int *)puVar12[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[1]" identifier [ number_literal ]))) ;) (if_statement "if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar6 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }" if (parenthesized_expression "(piVar16 == piVar17)" ( (binary_expression "piVar16 == piVar17" identifier == identifier) )) (compound_statement "{\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar6 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }" { (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar6 = *(uint *)(iVar2 + 0x5c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x5c)" * (cast_expression "(uint *)(iVar2 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "piVar17 = piVar16;" (assignment_expression "piVar17 = piVar16" identifier = identifier) ;) (goto_statement "goto LAB_0020cf70;" goto statement_identifier ;) })) (expression_statement "iVar2 = piVar15[1];" (assignment_expression "iVar2 = piVar15[1]" identifier = (subscript_expression "piVar15[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar18 = *(code **)(puVar8 + 0x2281ac);" (assignment_expression "pcVar18 = *(code **)(puVar8 + 0x2281ac)" identifier = (pointer_expression "*(code **)(puVar8 + 0x2281ac)" * (cast_expression "(code **)(puVar8 + 0x2281ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2281ac)" ( (binary_expression "puVar8 + 0x2281ac" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*(int *)(iVar2 + 0x54) == 7)" ( (binary_expression "*(int *)(iVar2 + 0x54) == 7" (pointer_expression "*(int *)(iVar2 + 0x54)" * (cast_expression "(int *)(iVar2 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x54)" ( (binary_expression "iVar2 + 0x54" identifier + number_literal) )))) == number_literal) )) ;) (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar6 = *(uint *)(iVar2 + 0x5c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x5c)" * (cast_expression "(uint *)(iVar2 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0020cf70;" goto statement_identifier ;) })) (expression_statement "iVar2 = *piVar14;" (assignment_expression "iVar2 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) }))) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar6 = *(uint *)(iVar2 + 0x5c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x5c)" * (cast_expression "(uint *)(iVar2 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) ))))) ;) })) (labeled_statement "LAB_0020cf70:\n      piVar14 = piVar17;" statement_identifier : (expression_statement "piVar14 = piVar17;" (assignment_expression "piVar14 = piVar17" identifier = identifier) ;)) (if_statement "if ((uVar6 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar8 + 0x229978))(iVar10 + -0x59b8);\n          (**(code **)(puVar8 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar6 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,7,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar6 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar6 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar6 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar6 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,3,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) break;\n      }" if (parenthesized_expression "((uVar6 & 0x400) == 0)" ( (binary_expression "(uVar6 & 0x400) == 0" (parenthesized_expression "(uVar6 & 0x400)" ( (binary_expression "uVar6 & 0x400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }" { (labeled_statement "LAB_0020cf7c:\n        iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);" statement_identifier : (expression_statement "iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);" (assignment_expression "iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7)" identifier = (call_expression "(**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7)" (parenthesized_expression "(**(code **)(puVar8 + 0x2297a4))" ( (pointer_expression "**(code **)(puVar8 + 0x2297a4)" * (pointer_expression "*(code **)(puVar8 + 0x2297a4)" * (cast_expression "(code **)(puVar8 + 0x2297a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2297a4)" ( (binary_expression "puVar8 + 0x2297a4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar2 + 0x24),iVar7)" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x24)" * (cast_expression "(undefined4 *)(iVar2 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x24)" ( (binary_expression "iVar2 + 0x24" identifier + number_literal) )))) , identifier )))) ;)) (if_statement "if (iVar3 == 0) goto LAB_0020cf94;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0020cf94;" goto statement_identifier ;)) (if_statement "if (piVar16 == piVar14) break;" if (parenthesized_expression "(piVar16 == piVar14)" ( (binary_expression "piVar16 == piVar14" identifier == identifier) )) (break_statement "break;" break ;)) }) (else_clause "else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar8 + 0x229978))(iVar10 + -0x59b8);\n          (**(code **)(puVar8 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar6 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,7,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar6 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar6 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar6 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar6 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,3,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) break;\n      }" else (compound_statement "{\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar8 + 0x229978))(iVar10 + -0x59b8);\n          (**(code **)(puVar8 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar6 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,7,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar6 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar6 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar6 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar6 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,3,uVar13);\n        (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar12[1];\n        if (piVar16 == piVar14) break;\n      }" { (if_statement "if (bVar1) {\n          uVar13 = (**(code **)(puVar8 + 0x229978))(iVar10 + -0x59b8);\n          (**(code **)(puVar8 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar6 = *(uint *)(*piVar15 + 0x5c);\n        }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n          uVar13 = (**(code **)(puVar8 + 0x229978))(iVar10 + -0x59b8);\n          (**(code **)(puVar8 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar6 = *(uint *)(*piVar15 + 0x5c);\n        }" { (expression_statement "uVar13 = (**(code **)(puVar8 + 0x229978))(iVar10 + -0x59b8);" (assignment_expression "uVar13 = (**(code **)(puVar8 + 0x229978))(iVar10 + -0x59b8)" identifier = (call_expression "(**(code **)(puVar8 + 0x229978))(iVar10 + -0x59b8)" (parenthesized_expression "(**(code **)(puVar8 + 0x229978))" ( (pointer_expression "**(code **)(puVar8 + 0x229978)" * (pointer_expression "*(code **)(puVar8 + 0x229978)" * (cast_expression "(code **)(puVar8 + 0x229978)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x229978)" ( (binary_expression "puVar8 + 0x229978" identifier + number_literal) ))))) )) (argument_list "(iVar10 + -0x59b8)" ( (binary_expression "iVar10 + -0x59b8" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(puVar8 + 0x225ee4))(uVar13);" (call_expression "(**(code **)(puVar8 + 0x225ee4))(uVar13)" (parenthesized_expression "(**(code **)(puVar8 + 0x225ee4))" ( (pointer_expression "**(code **)(puVar8 + 0x225ee4)" * (pointer_expression "*(code **)(puVar8 + 0x225ee4)" * (cast_expression "(code **)(puVar8 + 0x225ee4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x225ee4)" ( (binary_expression "puVar8 + 0x225ee4" identifier + number_literal) ))))) )) (argument_list "(uVar13)" ( identifier ))) ;) (expression_statement "uVar13 = *(undefined4 *)(*piVar15 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(*piVar15 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(*piVar15 + 0x58)" * (cast_expression "(undefined4 *)(*piVar15 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar15 + 0x58)" ( (binary_expression "*piVar15 + 0x58" (pointer_expression "*piVar15" * identifier) + number_literal) ))))) ;) (expression_statement "uVar6 = *(uint *)(*piVar15 + 0x5c);" (assignment_expression "uVar6 = *(uint *)(*piVar15 + 0x5c)" identifier = (pointer_expression "*(uint *)(*piVar15 + 0x5c)" * (cast_expression "(uint *)(*piVar15 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar15 + 0x5c)" ( (binary_expression "*piVar15 + 0x5c" (pointer_expression "*piVar15" * identifier) + number_literal) ))))) ;) })) (expression_statement "uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);" (assignment_expression "uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6)" identifier = (call_expression "(**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6)" (parenthesized_expression "(**(code **)(puVar8 + 0x2281ac))" ( (pointer_expression "**(code **)(puVar8 + 0x2281ac)" * (pointer_expression "*(code **)(puVar8 + 0x2281ac)" * (cast_expression "(code **)(puVar8 + 0x2281ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2281ac)" ( (binary_expression "puVar8 + 0x2281ac" identifier + number_literal) ))))) )) (argument_list "(uVar13,uVar6)" ( identifier , identifier )))) ;) (expression_statement "uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,7,uVar13);" (assignment_expression "uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,7,uVar13)" identifier = (call_expression "(**(code **)(puVar8 + 0x2260d8))(uVar11,7,uVar13)" (parenthesized_expression "(**(code **)(puVar8 + 0x2260d8))" ( (pointer_expression "**(code **)(puVar8 + 0x2260d8)" * (pointer_expression "*(code **)(puVar8 + 0x2260d8)" * (cast_expression "(code **)(puVar8 + 0x2260d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2260d8)" ( (binary_expression "puVar8 + 0x2260d8" identifier + number_literal) ))))) )) (argument_list "(uVar11,7,uVar13)" ( identifier , number_literal , identifier )))) ;) (expression_statement "(**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);" (call_expression "(**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13)" (parenthesized_expression "(**(code **)(puVar8 + 0x2260dc))" ( (pointer_expression "**(code **)(puVar8 + 0x2260dc)" * (pointer_expression "*(code **)(puVar8 + 0x2260dc)" * (cast_expression "(code **)(puVar8 + 0x2260dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2260dc)" ( (binary_expression "puVar8 + 0x2260dc" identifier + number_literal) ))))) )) (argument_list "(uVar4,*piVar15,uVar13)" ( identifier , (pointer_expression "*piVar15" * identifier) , identifier ))) ;) (expression_statement "piVar16 = (int *)puVar12[1];" (assignment_expression "piVar16 = (int *)puVar12[1]" identifier = (cast_expression "(int *)puVar12[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[1]" identifier [ number_literal ]))) ;) (if_statement "if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar6 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar6 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar6 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar6 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }" if (parenthesized_expression "(piVar16 == piVar14)" ( (binary_expression "piVar16 == piVar14" identifier == identifier) )) (compound_statement "{\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }" { (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);" (assignment_expression "iVar3 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7)" identifier = (call_expression "(**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7)" (parenthesized_expression "(**(code **)(puVar8 + 0x2297a4))" ( (pointer_expression "**(code **)(puVar8 + 0x2297a4)" * (pointer_expression "*(code **)(puVar8 + 0x2297a4)" * (cast_expression "(code **)(puVar8 + 0x2297a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2297a4)" ( (binary_expression "puVar8 + 0x2297a4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar2 + 0x24),iVar7)" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x24)" * (cast_expression "(undefined4 *)(iVar2 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x24)" ( (binary_expression "iVar2 + 0x24" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar3 != 0) break;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) }) (else_clause "else {\n          iVar3 = piVar15[1];\n          uVar6 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar6 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar6 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar6 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }" else (compound_statement "{\n          iVar3 = piVar15[1];\n          uVar6 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar6 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar6 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar6 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }" { (expression_statement "iVar3 = piVar15[1];" (assignment_expression "iVar3 = piVar15[1]" identifier = (subscript_expression "piVar15[1]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = *(uint *)(iVar3 + 0x5c);" (assignment_expression "uVar6 = *(uint *)(iVar3 + 0x5c)" identifier = (pointer_expression "*(uint *)(iVar3 + 0x5c)" * (cast_expression "(uint *)(iVar3 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x5c)" ( (binary_expression "iVar3 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(undefined4 *)(iVar3 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar3 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar3 + 0x58)" * (cast_expression "(undefined4 *)(iVar3 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x58)" ( (binary_expression "iVar3 + 0x58" identifier + number_literal) ))))) ;) (if_statement "if ((uVar6 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar6 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar6 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }" if (parenthesized_expression "((uVar6 & 0x400) != 0)" ( (binary_expression "(uVar6 & 0x400) != 0" (parenthesized_expression "(uVar6 & 0x400)" ( (binary_expression "uVar6 & 0x400" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar6 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar6 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }" { (do_statement "do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar6 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar6 & 0x400) != 0);" do (compound_statement "{\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);\n              (**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar12[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar6 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            }" { (expression_statement "piVar15 = piVar14;" (assignment_expression "piVar15 = piVar14" identifier = identifier) ;) (expression_statement "uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6);" (assignment_expression "uVar13 = (**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6)" identifier = (call_expression "(**(code **)(puVar8 + 0x2281ac))(uVar13,uVar6)" (parenthesized_expression "(**(code **)(puVar8 + 0x2281ac))" ( (pointer_expression "**(code **)(puVar8 + 0x2281ac)" * (pointer_expression "*(code **)(puVar8 + 0x2281ac)" * (cast_expression "(code **)(puVar8 + 0x2281ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2281ac)" ( (binary_expression "puVar8 + 0x2281ac" identifier + number_literal) ))))) )) (argument_list "(uVar13,uVar6)" ( identifier , identifier )))) ;) (expression_statement "(**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);" (call_expression "(**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13)" (parenthesized_expression "(**(code **)(puVar8 + 0x2260dc))" ( (pointer_expression "**(code **)(puVar8 + 0x2260dc)" * (pointer_expression "*(code **)(puVar8 + 0x2260dc)" * (cast_expression "(code **)(puVar8 + 0x2260dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2260dc)" ( (binary_expression "puVar8 + 0x2260dc" identifier + number_literal) ))))) )) (argument_list "(uVar4,*piVar15,uVar13)" ( identifier , (pointer_expression "*piVar15" * identifier) , identifier ))) ;) (expression_statement "piVar14 = piVar15 + 1;" (assignment_expression "piVar14 = piVar15 + 1" identifier = (binary_expression "piVar15 + 1" identifier + number_literal)) ;) (expression_statement "piVar16 = (int *)puVar12[1];" (assignment_expression "piVar16 = (int *)puVar12[1]" identifier = (cast_expression "(int *)puVar12[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[1]" identifier [ number_literal ]))) ;) (if_statement "if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }" if (parenthesized_expression "(piVar16 == piVar14)" ( (binary_expression "piVar16 == piVar14" identifier == identifier) )) (compound_statement "{\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }" { (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "piVar14 = piVar16;" (assignment_expression "piVar14 = piVar16" identifier = identifier) ;) (goto_statement "goto LAB_0020cf7c;" goto statement_identifier ;) })) (expression_statement "uVar6 = *(uint *)(piVar15[1] + 0x5c);" (assignment_expression "uVar6 = *(uint *)(piVar15[1] + 0x5c)" identifier = (pointer_expression "*(uint *)(piVar15[1] + 0x5c)" * (cast_expression "(uint *)(piVar15[1] + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar15[1] + 0x5c)" ( (binary_expression "piVar15[1] + 0x5c" (subscript_expression "piVar15[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "uVar13 = *(undefined4 *)(piVar15[1] + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(piVar15[1] + 0x58)" identifier = (pointer_expression "*(undefined4 *)(piVar15[1] + 0x58)" * (cast_expression "(undefined4 *)(piVar15[1] + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar15[1] + 0x58)" ( (binary_expression "piVar15[1] + 0x58" (subscript_expression "piVar15[1]" identifier [ number_literal ]) + number_literal) ))))) ;) }) while (parenthesized_expression "((uVar6 & 0x400) != 0)" ( (binary_expression "(uVar6 & 0x400) != 0" (parenthesized_expression "(uVar6 & 0x400)" ( (binary_expression "uVar6 & 0x400" identifier & number_literal) )) != number_literal) )) ;) (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (goto_statement "goto LAB_0020cf7c;" goto statement_identifier ;) })) (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "iVar5 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7);" (assignment_expression "iVar5 = (**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7)" identifier = (call_expression "(**(code **)(puVar8 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar7)" (parenthesized_expression "(**(code **)(puVar8 + 0x2297a4))" ( (pointer_expression "**(code **)(puVar8 + 0x2297a4)" * (pointer_expression "*(code **)(puVar8 + 0x2297a4)" * (cast_expression "(code **)(puVar8 + 0x2297a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2297a4)" ( (binary_expression "puVar8 + 0x2297a4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar2 + 0x24),iVar7)" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x24)" * (cast_expression "(undefined4 *)(iVar2 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x24)" ( (binary_expression "iVar2 + 0x24" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "iVar2 = iVar3;" (assignment_expression "iVar2 = iVar3" identifier = identifier) ;) (goto_statement "goto LAB_0020cf64;" goto statement_identifier ;) })) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) }))) (labeled_statement "LAB_0020cf94:\n        uVar13 = (**(code **)(puVar8 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));" statement_identifier : (expression_statement "uVar13 = (**(code **)(puVar8 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));" (assignment_expression "uVar13 = (**(code **)(puVar8 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" identifier = (call_expression "(**(code **)(puVar8 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" (parenthesized_expression "(**(code **)(puVar8 + 0x2281ac))" ( (pointer_expression "**(code **)(puVar8 + 0x2281ac)" * (pointer_expression "*(code **)(puVar8 + 0x2281ac)" * (cast_expression "(code **)(puVar8 + 0x2281ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2281ac)" ( (binary_expression "puVar8 + 0x2281ac" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0x5c)" * (cast_expression "(undefined4 *)(iVar2 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) )))) )))) ;)) (expression_statement "uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,3,uVar13);" (assignment_expression "uVar4 = (**(code **)(puVar8 + 0x2260d8))(uVar11,3,uVar13)" identifier = (call_expression "(**(code **)(puVar8 + 0x2260d8))(uVar11,3,uVar13)" (parenthesized_expression "(**(code **)(puVar8 + 0x2260d8))" ( (pointer_expression "**(code **)(puVar8 + 0x2260d8)" * (pointer_expression "*(code **)(puVar8 + 0x2260d8)" * (cast_expression "(code **)(puVar8 + 0x2260d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2260d8)" ( (binary_expression "puVar8 + 0x2260d8" identifier + number_literal) ))))) )) (argument_list "(uVar11,3,uVar13)" ( identifier , number_literal , identifier )))) ;) (expression_statement "(**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13);" (call_expression "(**(code **)(puVar8 + 0x2260dc))(uVar4,*piVar15,uVar13)" (parenthesized_expression "(**(code **)(puVar8 + 0x2260dc))" ( (pointer_expression "**(code **)(puVar8 + 0x2260dc)" * (pointer_expression "*(code **)(puVar8 + 0x2260dc)" * (cast_expression "(code **)(puVar8 + 0x2260dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2260dc)" ( (binary_expression "puVar8 + 0x2260dc" identifier + number_literal) ))))) )) (argument_list "(uVar4,*piVar15,uVar13)" ( identifier , (pointer_expression "*piVar15" * identifier) , identifier ))) ;) (expression_statement "piVar16 = (int *)puVar12[1];" (assignment_expression "piVar16 = (int *)puVar12[1]" identifier = (cast_expression "(int *)puVar12[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[1]" identifier [ number_literal ]))) ;) (if_statement "if (piVar16 == piVar14) break;" if (parenthesized_expression "(piVar16 == piVar14)" ( (binary_expression "piVar16 == piVar14" identifier == identifier) )) (break_statement "break;" break ;)) }))) (expression_statement "iVar2 = piVar15[1];" (assignment_expression "iVar2 = piVar15[1]" identifier = (subscript_expression "piVar15[1]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar6 = *(uint *)(iVar2 + 0x5c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x5c)" * (cast_expression "(uint *)(iVar2 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "pcVar9[0x1f] = '\x01';" (assignment_expression "pcVar9[0x1f] = '\x01'" (subscript_expression "pcVar9[0x1f]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (return_statement "return CONCAT44(1,pcVar9);" return (call_expression "CONCAT44(1,pcVar9)" identifier (argument_list "(1,pcVar9)" ( number_literal , identifier ))) ;) })))
(translation_unit "int gold::Script_sections::header_size_adjustment(ulonglong param_1,uint param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  undefined *puVar7;\n  char *pcVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int in_a2;\n  undefined4 *puVar11;\n  uint uVar12;\n  uint in_a3;\n  undefined4 uVar13;\n  int *piVar14;\n  int *piVar15;\n  int *piVar16;\n  int *piVar17;\n  code *pcVar18;\n  \n  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc);\n  puVar7 = PTR_s_alize_xindex_004323b4;\n  if (iVar9 != 0) {\n    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    if (iVar2 != 0) {\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }\n    puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348);\n  }\n  uVar10 = 0x69;\n  puVar11 = (undefined4 *)(PTR_DAT_0043226c + -0x528c);\n  pcVar8 = puVar7 + -0x5cec;\n  puVar7 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(pcVar8,0x69);\n  if ((*pcVar8 != '\0') && (*(int *)(pcVar8 + 0x10) != 0)) {\n    (**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4);\n  }\n  piVar14 = (int *)*puVar11;\n  piVar16 = (int *)puVar11[1];\n  iVar9 = *(int *)(puVar7 + 0x2253cc);\n  if (piVar14 != piVar16) {\n    iVar2 = *piVar14;\n    bVar1 = false;\n    iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820;\n    uVar13 = *(undefined4 *)(iVar2 + 0x58);\n    uVar12 = *(uint *)(iVar2 + 0x5c);\nLAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );\n  }\n  pcVar8[0x1f] = '\x01';\n  return 1;\n}\n\n" (function_definition "int gold::Script_sections::header_size_adjustment(ulonglong param_1,uint param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  undefined *puVar7;\n  char *pcVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int in_a2;\n  undefined4 *puVar11;\n  uint uVar12;\n  uint in_a3;\n  undefined4 uVar13;\n  int *piVar14;\n  int *piVar15;\n  int *piVar16;\n  int *piVar17;\n  code *pcVar18;\n  \n  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc);\n  puVar7 = PTR_s_alize_xindex_004323b4;\n  if (iVar9 != 0) {\n    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    if (iVar2 != 0) {\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }\n    puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348);\n  }\n  uVar10 = 0x69;\n  puVar11 = (undefined4 *)(PTR_DAT_0043226c + -0x528c);\n  pcVar8 = puVar7 + -0x5cec;\n  puVar7 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(pcVar8,0x69);\n  if ((*pcVar8 != '\0') && (*(int *)(pcVar8 + 0x10) != 0)) {\n    (**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4);\n  }\n  piVar14 = (int *)*puVar11;\n  piVar16 = (int *)puVar11[1];\n  iVar9 = *(int *)(puVar7 + 0x2253cc);\n  if (piVar14 != piVar16) {\n    iVar2 = *piVar14;\n    bVar1 = false;\n    iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820;\n    uVar13 = *(undefined4 *)(iVar2 + 0x58);\n    uVar12 = *(uint *)(iVar2 + 0x5c);\nLAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );\n  }\n  pcVar8[0x1f] = '\x01';\n  return 1;\n}" primitive_type (ERROR "gold::Script_sections::" identifier : : identifier : :) (function_declarator "header_size_adjustment(ulonglong param_1,uint param_2)" identifier (parameter_list "(ulonglong param_1,uint param_2)" ( (parameter_declaration "ulonglong param_1" type_identifier identifier) , (parameter_declaration "uint param_2" type_identifier identifier) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  undefined *puVar7;\n  char *pcVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int in_a2;\n  undefined4 *puVar11;\n  uint uVar12;\n  uint in_a3;\n  undefined4 uVar13;\n  int *piVar14;\n  int *piVar15;\n  int *piVar16;\n  int *piVar17;\n  code *pcVar18;\n  \n  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc);\n  puVar7 = PTR_s_alize_xindex_004323b4;\n  if (iVar9 != 0) {\n    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    if (iVar2 != 0) {\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }\n    puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348);\n  }\n  uVar10 = 0x69;\n  puVar11 = (undefined4 *)(PTR_DAT_0043226c + -0x528c);\n  pcVar8 = puVar7 + -0x5cec;\n  puVar7 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(pcVar8,0x69);\n  if ((*pcVar8 != '\0') && (*(int *)(pcVar8 + 0x10) != 0)) {\n    (**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4);\n  }\n  piVar14 = (int *)*puVar11;\n  piVar16 = (int *)puVar11[1];\n  iVar9 = *(int *)(puVar7 + 0x2253cc);\n  if (piVar14 != piVar16) {\n    iVar2 = *piVar14;\n    bVar1 = false;\n    iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820;\n    uVar13 = *(undefined4 *)(iVar2 + 0x58);\n    uVar12 = *(uint *)(iVar2 + 0x5c);\nLAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );\n  }\n  pcVar8[0x1f] = '\x01';\n  return 1;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int in_a2;" primitive_type identifier ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint in_a3;" type_identifier identifier ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "code *pcVar18;" type_identifier (pointer_declarator "*pcVar18" * identifier) ;) (expression_statement "iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc);" (assignment_expression "iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc)" identifier = (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 0xc" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (expression_statement "puVar7 = PTR_s_alize_xindex_004323b4;" (assignment_expression "puVar7 = PTR_s_alize_xindex_004323b4" identifier = identifier) ;) (if_statement "if (iVar9 != 0) {\n    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    if (iVar2 != 0) {\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }\n    puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348);\n  }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    if (iVar2 != 0) {\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }\n    puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348);\n  }" { (expression_statement "iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);" (assignment_expression "iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8)" identifier = (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (iVar2 != 0) {\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }" { (expression_statement "iVar6 = *(int *)(iVar2 + 0x5228);" (assignment_expression "iVar6 = *(int *)(iVar2 + 0x5228)" identifier = (pointer_expression "*(int *)(iVar2 + 0x5228)" * (cast_expression "(int *)(iVar2 + 0x5228)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5228)" ( (binary_expression "iVar2 + 0x5228" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar2 + 0x522c);" (assignment_expression "iVar2 = *(int *)(iVar2 + 0x522c)" identifier = (pointer_expression "*(int *)(iVar2 + 0x522c)" * (cast_expression "(int *)(iVar2 + 0x522c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x522c)" ( (binary_expression "iVar2 + 0x522c" identifier + number_literal) ))))) ;) (if_statement "if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }" if (parenthesized_expression "(iVar6 == 0 && iVar2 == 0)" ( (binary_expression "iVar6 == 0 && iVar2 == 0" (binary_expression "iVar6 == 0" identifier == number_literal) && (binary_expression "iVar2 == 0" identifier == number_literal)) )) (compound_statement "{\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }" { (expression_statement "iVar9 = *(int *)(iVar9 + 4);" (assignment_expression "iVar9 = *(int *)(iVar9 + 4)" identifier = (pointer_expression "*(int *)(iVar9 + 4)" * (cast_expression "(int *)(iVar9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar9 + 0x20);" (assignment_expression "iVar6 = *(int *)(iVar9 + 0x20)" identifier = (pointer_expression "*(int *)(iVar9 + 0x20)" * (cast_expression "(int *)(iVar9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar9 + 0x24);" (assignment_expression "iVar2 = *(int *)(iVar9 + 0x24)" identifier = (pointer_expression "*(int *)(iVar9 + 0x24)" * (cast_expression "(int *)(iVar9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) ))))) ;) })) (return_statement "return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));" return (binary_expression "(in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_))" (parenthesized_expression "(in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             )" ( (binary_expression "in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))" identifier - (parenthesized_expression "(-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))" ( (binary_expression "-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_)" (binary_expression "-(uint)(-iVar2 != 0) - iVar6" (unary_expression "-(uint)(-iVar2 != 0)" - (call_expression "(uint)(-iVar2 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(-iVar2 != 0)" ( (binary_expression "-iVar2 != 0" (unary_expression "-iVar2" - identifier) != number_literal) )))) - identifier) & (binary_expression "in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_)" identifier - (call_expression "(uint)(in_a3 < in_a3 - param_1._0_4_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_a3 < in_a3 - param_1._0_4_)" ( (binary_expression "in_a3 < in_a3 - param_1._0_4_" identifier < (binary_expression "in_a3 - param_1._0_4_" identifier - (field_expression "param_1._0_4_" identifier . field_identifier))) ))))) ))) )) - (call_expression "(uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_))" ( (binary_expression "in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_)" identifier < (binary_expression "in_a3 - (-iVar2 & in_a3 - param_1._0_4_)" identifier - (parenthesized_expression "(-iVar2 & in_a3 - param_1._0_4_)" ( (binary_expression "-iVar2 & in_a3 - param_1._0_4_" (unary_expression "-iVar2" - identifier) & (binary_expression "in_a3 - param_1._0_4_" identifier - (field_expression "param_1._0_4_" identifier . field_identifier))) )))) )))) ;) })) (expression_statement "puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec;" (assignment_expression "puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec" identifier = (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar7,0x5c,PTR_DAT_0043226c + -0x5348)" ( identifier , number_literal , (binary_expression "PTR_DAT_0043226c + -0x5348" identifier + number_literal) ))) ;) })) (expression_statement "uVar10 = 0x69;" (assignment_expression "uVar10 = 0x69" identifier = number_literal) ;) (expression_statement "puVar11 = (undefined4 *)(PTR_DAT_0043226c + -0x528c);" (assignment_expression "puVar11 = (undefined4 *)(PTR_DAT_0043226c + -0x528c)" identifier = (cast_expression "(undefined4 *)(PTR_DAT_0043226c + -0x528c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043226c + -0x528c)" ( (binary_expression "PTR_DAT_0043226c + -0x528c" identifier + number_literal) )))) ;) (expression_statement "pcVar8 = puVar7 + -0x5cec;" (assignment_expression "pcVar8 = puVar7 + -0x5cec" identifier = (binary_expression "puVar7 + -0x5cec" identifier + number_literal)) ;) (expression_statement "puVar7 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar7 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(pcVar8,0x69);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(pcVar8,0x69)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar8,0x69)" ( identifier , number_literal ))) ;) (if_statement "if ((*pcVar8 != '\0') && (*(int *)(pcVar8 + 0x10) != 0)) {\n    (**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4);\n  }" if (parenthesized_expression "((*pcVar8 != '\0') && (*(int *)(pcVar8 + 0x10) != 0))" ( (binary_expression "(*pcVar8 != '\0') && (*(int *)(pcVar8 + 0x10) != 0)" (parenthesized_expression "(*pcVar8 != '\0')" ( (binary_expression "*pcVar8 != '\0'" (pointer_expression "*pcVar8" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(int *)(pcVar8 + 0x10) != 0)" ( (binary_expression "*(int *)(pcVar8 + 0x10) != 0" (pointer_expression "*(int *)(pcVar8 + 0x10)" * (cast_expression "(int *)(pcVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar8 + 0x10)" ( (binary_expression "pcVar8 + 0x10" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n    (**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4);\n  }" { (expression_statement "(**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4);" (call_expression "(**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4)" (parenthesized_expression "(**(code **)(puVar7 + 0x225524))" ( (pointer_expression "**(code **)(puVar7 + 0x225524)" * (pointer_expression "*(code **)(puVar7 + 0x225524)" * (cast_expression "(code **)(puVar7 + 0x225524)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x225524)" ( (binary_expression "puVar7 + 0x225524" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4)" ( (binary_expression "*(int *)(puVar7 + 0x2253cc) + -0x5d54" (pointer_expression "*(int *)(puVar7 + 0x2253cc)" * (cast_expression "(int *)(puVar7 + 0x2253cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x2253cc)" ( (binary_expression "puVar7 + 0x2253cc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar7 + 0x2253cc) + -0x54f4" (pointer_expression "*(int *)(puVar7 + 0x2253cc)" * (cast_expression "(int *)(puVar7 + 0x2253cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x2253cc)" ( (binary_expression "puVar7 + 0x2253cc" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "piVar14 = (int *)*puVar11;" (assignment_expression "piVar14 = (int *)*puVar11" identifier = (cast_expression "(int *)*puVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;) (expression_statement "piVar16 = (int *)puVar11[1];" (assignment_expression "piVar16 = (int *)puVar11[1]" identifier = (cast_expression "(int *)puVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar9 = *(int *)(puVar7 + 0x2253cc);" (assignment_expression "iVar9 = *(int *)(puVar7 + 0x2253cc)" identifier = (pointer_expression "*(int *)(puVar7 + 0x2253cc)" * (cast_expression "(int *)(puVar7 + 0x2253cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x2253cc)" ( (binary_expression "puVar7 + 0x2253cc" identifier + number_literal) ))))) ;) (if_statement "if (piVar14 != piVar16) {\n    iVar2 = *piVar14;\n    bVar1 = false;\n    iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820;\n    uVar13 = *(undefined4 *)(iVar2 + 0x58);\n    uVar12 = *(uint *)(iVar2 + 0x5c);\nLAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );\n  }" if (parenthesized_expression "(piVar14 != piVar16)" ( (binary_expression "piVar14 != piVar16" identifier != identifier) )) (compound_statement "{\n    iVar2 = *piVar14;\n    bVar1 = false;\n    iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820;\n    uVar13 = *(undefined4 *)(iVar2 + 0x58);\n    uVar12 = *(uint *)(iVar2 + 0x5c);\nLAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );\n  }" { (expression_statement "iVar2 = *piVar14;" (assignment_expression "iVar2 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820;" (assignment_expression "iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820" identifier = (binary_expression "*(int *)(puVar7 + 0x225514) + -0x2820" (pointer_expression "*(int *)(puVar7 + 0x225514)" * (cast_expression "(int *)(puVar7 + 0x225514)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x225514)" ( (binary_expression "puVar7 + 0x225514" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 0x5c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x5c)" * (cast_expression "(uint *)(iVar2 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );" statement_identifier : (do_statement "do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );" do (compound_statement "{\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    }" { (expression_statement "piVar17 = piVar14 + 1;" (assignment_expression "piVar17 = piVar14 + 1" identifier = (binary_expression "piVar14 + 1" identifier + number_literal)) ;) (expression_statement "piVar15 = piVar14;" (assignment_expression "piVar15 = piVar14" identifier = identifier) ;) (if_statement "if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }" if (parenthesized_expression "(*(int *)(iVar2 + 0x54) == 7)" ( (binary_expression "*(int *)(iVar2 + 0x54) == 7" (pointer_expression "*(int *)(iVar2 + 0x54)" * (cast_expression "(int *)(iVar2 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x54)" ( (binary_expression "iVar2 + 0x54" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }" { (expression_statement "uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);" (assignment_expression "uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12)" identifier = (call_expression "(**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12)" (parenthesized_expression "(**(code **)(puVar7 + 0x2281ac))" ( (pointer_expression "**(code **)(puVar7 + 0x2281ac)" * (pointer_expression "*(code **)(puVar7 + 0x2281ac)" * (cast_expression "(code **)(puVar7 + 0x2281ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2281ac)" ( (binary_expression "puVar7 + 0x2281ac" identifier + number_literal) ))))) )) (argument_list "(uVar13,uVar12)" ( identifier , identifier )))) ;) (expression_statement "uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);" (assignment_expression "uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13)" identifier = (call_expression "(**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260d8))" ( (pointer_expression "**(code **)(puVar7 + 0x2260d8)" * (pointer_expression "*(code **)(puVar7 + 0x2260d8)" * (cast_expression "(code **)(puVar7 + 0x2260d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2260d8)" ( (binary_expression "puVar7 + 0x2260d8" identifier + number_literal) ))))) )) (argument_list "(uVar10,4,uVar13)" ( identifier , number_literal , identifier )))) ;) (expression_statement "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);" (call_expression "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260dc))" ( (pointer_expression "**(code **)(puVar7 + 0x2260dc)" * (pointer_expression "*(code **)(puVar7 + 0x2260dc)" * (cast_expression "(code **)(puVar7 + 0x2260dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2260dc)" ( (binary_expression "puVar7 + 0x2260dc" identifier + number_literal) ))))) )) (argument_list "(uVar4,*piVar14,uVar13)" ( identifier , (pointer_expression "*piVar14" * identifier) , identifier ))) ;) (expression_statement "piVar16 = (int *)puVar11[1];" (assignment_expression "piVar16 = (int *)puVar11[1]" identifier = (cast_expression "(int *)puVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (if_statement "if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }" if (parenthesized_expression "(piVar16 == piVar17)" ( (binary_expression "piVar16 == piVar17" identifier == identifier) )) (compound_statement "{\n          iVar2 = *piVar14;\n        }" { (expression_statement "iVar2 = *piVar14;" (assignment_expression "iVar2 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) }) (else_clause "else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }" else (compound_statement "{\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }" { (expression_statement "iVar2 = piVar14[1];" (assignment_expression "iVar2 = piVar14[1]" identifier = (subscript_expression "piVar14[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar18 = *(code **)(puVar7 + 0x2281ac);" (assignment_expression "pcVar18 = *(code **)(puVar7 + 0x2281ac)" identifier = (pointer_expression "*(code **)(puVar7 + 0x2281ac)" * (cast_expression "(code **)(puVar7 + 0x2281ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2281ac)" ( (binary_expression "puVar7 + 0x2281ac" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }" if (parenthesized_expression "(*(int *)(iVar2 + 0x54) == 7)" ( (binary_expression "*(int *)(iVar2 + 0x54) == 7" (pointer_expression "*(int *)(iVar2 + 0x54)" * (cast_expression "(int *)(iVar2 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x54)" ( (binary_expression "iVar2 + 0x54" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }" { (do_statement "do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);" do (compound_statement "{\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            }" { (expression_statement "piVar15 = piVar17;" (assignment_expression "piVar15 = piVar17" identifier = identifier) ;) (expression_statement "uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));" (assignment_expression "uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" identifier = (call_expression "(*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0x5c)" * (cast_expression "(undefined4 *)(iVar2 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) )))) )))) ;) (expression_statement "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);" (call_expression "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260dc))" ( (pointer_expression "**(code **)(puVar7 + 0x2260dc)" * (pointer_expression "*(code **)(puVar7 + 0x2260dc)" * (cast_expression "(code **)(puVar7 + 0x2260dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2260dc)" ( (binary_expression "puVar7 + 0x2260dc" identifier + number_literal) ))))) )) (argument_list "(uVar4,*piVar15,uVar13)" ( identifier , (pointer_expression "*piVar15" * identifier) , identifier ))) ;) (expression_statement "piVar17 = piVar15 + 1;" (assignment_expression "piVar17 = piVar15 + 1" identifier = (binary_expression "piVar15 + 1" identifier + number_literal)) ;) (expression_statement "piVar16 = (int *)puVar11[1];" (assignment_expression "piVar16 = (int *)puVar11[1]" identifier = (cast_expression "(int *)puVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (if_statement "if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }" if (parenthesized_expression "(piVar16 == piVar17)" ( (binary_expression "piVar16 == piVar17" identifier == identifier) )) (compound_statement "{\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }" { (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 0x5c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x5c)" * (cast_expression "(uint *)(iVar2 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "piVar17 = piVar16;" (assignment_expression "piVar17 = piVar16" identifier = identifier) ;) (goto_statement "goto LAB_0020cf70;" goto statement_identifier ;) })) (expression_statement "iVar2 = piVar15[1];" (assignment_expression "iVar2 = piVar15[1]" identifier = (subscript_expression "piVar15[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar18 = *(code **)(puVar7 + 0x2281ac);" (assignment_expression "pcVar18 = *(code **)(puVar7 + 0x2281ac)" identifier = (pointer_expression "*(code **)(puVar7 + 0x2281ac)" * (cast_expression "(code **)(puVar7 + 0x2281ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2281ac)" ( (binary_expression "puVar7 + 0x2281ac" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*(int *)(iVar2 + 0x54) == 7)" ( (binary_expression "*(int *)(iVar2 + 0x54) == 7" (pointer_expression "*(int *)(iVar2 + 0x54)" * (cast_expression "(int *)(iVar2 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x54)" ( (binary_expression "iVar2 + 0x54" identifier + number_literal) )))) == number_literal) )) ;) (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 0x5c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x5c)" * (cast_expression "(uint *)(iVar2 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0020cf70;" goto statement_identifier ;) })) (expression_statement "iVar2 = *piVar14;" (assignment_expression "iVar2 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) }))) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 0x5c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x5c)" * (cast_expression "(uint *)(iVar2 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) ))))) ;) })) (labeled_statement "LAB_0020cf70:\n      piVar14 = piVar17;" statement_identifier : (expression_statement "piVar14 = piVar17;" (assignment_expression "piVar14 = piVar17" identifier = identifier) ;)) (if_statement "if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }" if (parenthesized_expression "((uVar12 & 0x400) == 0)" ( (binary_expression "(uVar12 & 0x400) == 0" (parenthesized_expression "(uVar12 & 0x400)" ( (binary_expression "uVar12 & 0x400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }" { (labeled_statement "LAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);" statement_identifier : (expression_statement "iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);" (assignment_expression "iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6)" identifier = (call_expression "(**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6)" (parenthesized_expression "(**(code **)(puVar7 + 0x2297a4))" ( (pointer_expression "**(code **)(puVar7 + 0x2297a4)" * (pointer_expression "*(code **)(puVar7 + 0x2297a4)" * (cast_expression "(code **)(puVar7 + 0x2297a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2297a4)" ( (binary_expression "puVar7 + 0x2297a4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar2 + 0x24),iVar6)" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x24)" * (cast_expression "(undefined4 *)(iVar2 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x24)" ( (binary_expression "iVar2 + 0x24" identifier + number_literal) )))) , identifier )))) ;)) (if_statement "if (iVar3 == 0) goto LAB_0020cf94;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0020cf94;" goto statement_identifier ;)) (if_statement "if (piVar16 == piVar14) break;" if (parenthesized_expression "(piVar16 == piVar14)" ( (binary_expression "piVar16 == piVar14" identifier == identifier) )) (break_statement "break;" break ;)) }) (else_clause "else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }" else (compound_statement "{\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }" { (if_statement "if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }" { (expression_statement "uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);" (assignment_expression "uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8)" identifier = (call_expression "(**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8)" (parenthesized_expression "(**(code **)(puVar7 + 0x229978))" ( (pointer_expression "**(code **)(puVar7 + 0x229978)" * (pointer_expression "*(code **)(puVar7 + 0x229978)" * (cast_expression "(code **)(puVar7 + 0x229978)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x229978)" ( (binary_expression "puVar7 + 0x229978" identifier + number_literal) ))))) )) (argument_list "(iVar9 + -0x59b8)" ( (binary_expression "iVar9 + -0x59b8" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(puVar7 + 0x225ee4))(uVar13);" (call_expression "(**(code **)(puVar7 + 0x225ee4))(uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x225ee4))" ( (pointer_expression "**(code **)(puVar7 + 0x225ee4)" * (pointer_expression "*(code **)(puVar7 + 0x225ee4)" * (cast_expression "(code **)(puVar7 + 0x225ee4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x225ee4)" ( (binary_expression "puVar7 + 0x225ee4" identifier + number_literal) ))))) )) (argument_list "(uVar13)" ( identifier ))) ;) (expression_statement "uVar13 = *(undefined4 *)(*piVar15 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(*piVar15 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(*piVar15 + 0x58)" * (cast_expression "(undefined4 *)(*piVar15 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar15 + 0x58)" ( (binary_expression "*piVar15 + 0x58" (pointer_expression "*piVar15" * identifier) + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(*piVar15 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(*piVar15 + 0x5c)" identifier = (pointer_expression "*(uint *)(*piVar15 + 0x5c)" * (cast_expression "(uint *)(*piVar15 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar15 + 0x5c)" ( (binary_expression "*piVar15 + 0x5c" (pointer_expression "*piVar15" * identifier) + number_literal) ))))) ;) })) (expression_statement "uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);" (assignment_expression "uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12)" identifier = (call_expression "(**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12)" (parenthesized_expression "(**(code **)(puVar7 + 0x2281ac))" ( (pointer_expression "**(code **)(puVar7 + 0x2281ac)" * (pointer_expression "*(code **)(puVar7 + 0x2281ac)" * (cast_expression "(code **)(puVar7 + 0x2281ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2281ac)" ( (binary_expression "puVar7 + 0x2281ac" identifier + number_literal) ))))) )) (argument_list "(uVar13,uVar12)" ( identifier , identifier )))) ;) (expression_statement "uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);" (assignment_expression "uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13)" identifier = (call_expression "(**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260d8))" ( (pointer_expression "**(code **)(puVar7 + 0x2260d8)" * (pointer_expression "*(code **)(puVar7 + 0x2260d8)" * (cast_expression "(code **)(puVar7 + 0x2260d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2260d8)" ( (binary_expression "puVar7 + 0x2260d8" identifier + number_literal) ))))) )) (argument_list "(uVar10,7,uVar13)" ( identifier , number_literal , identifier )))) ;) (expression_statement "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);" (call_expression "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260dc))" ( (pointer_expression "**(code **)(puVar7 + 0x2260dc)" * (pointer_expression "*(code **)(puVar7 + 0x2260dc)" * (cast_expression "(code **)(puVar7 + 0x2260dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2260dc)" ( (binary_expression "puVar7 + 0x2260dc" identifier + number_literal) ))))) )) (argument_list "(uVar4,*piVar15,uVar13)" ( identifier , (pointer_expression "*piVar15" * identifier) , identifier ))) ;) (expression_statement "piVar16 = (int *)puVar11[1];" (assignment_expression "piVar16 = (int *)puVar11[1]" identifier = (cast_expression "(int *)puVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (if_statement "if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }" if (parenthesized_expression "(piVar16 == piVar14)" ( (binary_expression "piVar16 == piVar14" identifier == identifier) )) (compound_statement "{\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }" { (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);" (assignment_expression "iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6)" identifier = (call_expression "(**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6)" (parenthesized_expression "(**(code **)(puVar7 + 0x2297a4))" ( (pointer_expression "**(code **)(puVar7 + 0x2297a4)" * (pointer_expression "*(code **)(puVar7 + 0x2297a4)" * (cast_expression "(code **)(puVar7 + 0x2297a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2297a4)" ( (binary_expression "puVar7 + 0x2297a4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar2 + 0x24),iVar6)" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x24)" * (cast_expression "(undefined4 *)(iVar2 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x24)" ( (binary_expression "iVar2 + 0x24" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar3 != 0) break;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) }) (else_clause "else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }" else (compound_statement "{\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }" { (expression_statement "iVar3 = piVar15[1];" (assignment_expression "iVar3 = piVar15[1]" identifier = (subscript_expression "piVar15[1]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = *(uint *)(iVar3 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(iVar3 + 0x5c)" identifier = (pointer_expression "*(uint *)(iVar3 + 0x5c)" * (cast_expression "(uint *)(iVar3 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x5c)" ( (binary_expression "iVar3 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(undefined4 *)(iVar3 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar3 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar3 + 0x58)" * (cast_expression "(undefined4 *)(iVar3 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x58)" ( (binary_expression "iVar3 + 0x58" identifier + number_literal) ))))) ;) (if_statement "if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }" if (parenthesized_expression "((uVar12 & 0x400) != 0)" ( (binary_expression "(uVar12 & 0x400) != 0" (parenthesized_expression "(uVar12 & 0x400)" ( (binary_expression "uVar12 & 0x400" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }" { (do_statement "do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);" do (compound_statement "{\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            }" { (expression_statement "piVar15 = piVar14;" (assignment_expression "piVar15 = piVar14" identifier = identifier) ;) (expression_statement "uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);" (assignment_expression "uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12)" identifier = (call_expression "(**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12)" (parenthesized_expression "(**(code **)(puVar7 + 0x2281ac))" ( (pointer_expression "**(code **)(puVar7 + 0x2281ac)" * (pointer_expression "*(code **)(puVar7 + 0x2281ac)" * (cast_expression "(code **)(puVar7 + 0x2281ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2281ac)" ( (binary_expression "puVar7 + 0x2281ac" identifier + number_literal) ))))) )) (argument_list "(uVar13,uVar12)" ( identifier , identifier )))) ;) (expression_statement "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);" (call_expression "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260dc))" ( (pointer_expression "**(code **)(puVar7 + 0x2260dc)" * (pointer_expression "*(code **)(puVar7 + 0x2260dc)" * (cast_expression "(code **)(puVar7 + 0x2260dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2260dc)" ( (binary_expression "puVar7 + 0x2260dc" identifier + number_literal) ))))) )) (argument_list "(uVar4,*piVar15,uVar13)" ( identifier , (pointer_expression "*piVar15" * identifier) , identifier ))) ;) (expression_statement "piVar14 = piVar15 + 1;" (assignment_expression "piVar14 = piVar15 + 1" identifier = (binary_expression "piVar15 + 1" identifier + number_literal)) ;) (expression_statement "piVar16 = (int *)puVar11[1];" (assignment_expression "piVar16 = (int *)puVar11[1]" identifier = (cast_expression "(int *)puVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (if_statement "if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }" if (parenthesized_expression "(piVar16 == piVar14)" ( (binary_expression "piVar16 == piVar14" identifier == identifier) )) (compound_statement "{\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }" { (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "piVar14 = piVar16;" (assignment_expression "piVar14 = piVar16" identifier = identifier) ;) (goto_statement "goto LAB_0020cf7c;" goto statement_identifier ;) })) (expression_statement "uVar12 = *(uint *)(piVar15[1] + 0x5c);" (assignment_expression "uVar12 = *(uint *)(piVar15[1] + 0x5c)" identifier = (pointer_expression "*(uint *)(piVar15[1] + 0x5c)" * (cast_expression "(uint *)(piVar15[1] + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar15[1] + 0x5c)" ( (binary_expression "piVar15[1] + 0x5c" (subscript_expression "piVar15[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "uVar13 = *(undefined4 *)(piVar15[1] + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(piVar15[1] + 0x58)" identifier = (pointer_expression "*(undefined4 *)(piVar15[1] + 0x58)" * (cast_expression "(undefined4 *)(piVar15[1] + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar15[1] + 0x58)" ( (binary_expression "piVar15[1] + 0x58" (subscript_expression "piVar15[1]" identifier [ number_literal ]) + number_literal) ))))) ;) }) while (parenthesized_expression "((uVar12 & 0x400) != 0)" ( (binary_expression "(uVar12 & 0x400) != 0" (parenthesized_expression "(uVar12 & 0x400)" ( (binary_expression "uVar12 & 0x400" identifier & number_literal) )) != number_literal) )) ;) (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (goto_statement "goto LAB_0020cf7c;" goto statement_identifier ;) })) (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);" (assignment_expression "iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6)" identifier = (call_expression "(**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6)" (parenthesized_expression "(**(code **)(puVar7 + 0x2297a4))" ( (pointer_expression "**(code **)(puVar7 + 0x2297a4)" * (pointer_expression "*(code **)(puVar7 + 0x2297a4)" * (cast_expression "(code **)(puVar7 + 0x2297a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2297a4)" ( (binary_expression "puVar7 + 0x2297a4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar2 + 0x24),iVar6)" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x24)" * (cast_expression "(undefined4 *)(iVar2 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x24)" ( (binary_expression "iVar2 + 0x24" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "iVar2 = iVar3;" (assignment_expression "iVar2 = iVar3" identifier = identifier) ;) (goto_statement "goto LAB_0020cf64;" goto statement_identifier ;) })) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) }))) (labeled_statement "LAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));" statement_identifier : (expression_statement "uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));" (assignment_expression "uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" identifier = (call_expression "(**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" (parenthesized_expression "(**(code **)(puVar7 + 0x2281ac))" ( (pointer_expression "**(code **)(puVar7 + 0x2281ac)" * (pointer_expression "*(code **)(puVar7 + 0x2281ac)" * (cast_expression "(code **)(puVar7 + 0x2281ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2281ac)" ( (binary_expression "puVar7 + 0x2281ac" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0x5c)" * (cast_expression "(undefined4 *)(iVar2 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) )))) )))) ;)) (expression_statement "uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);" (assignment_expression "uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13)" identifier = (call_expression "(**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260d8))" ( (pointer_expression "**(code **)(puVar7 + 0x2260d8)" * (pointer_expression "*(code **)(puVar7 + 0x2260d8)" * (cast_expression "(code **)(puVar7 + 0x2260d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2260d8)" ( (binary_expression "puVar7 + 0x2260d8" identifier + number_literal) ))))) )) (argument_list "(uVar10,3,uVar13)" ( identifier , number_literal , identifier )))) ;) (expression_statement "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);" (call_expression "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260dc))" ( (pointer_expression "**(code **)(puVar7 + 0x2260dc)" * (pointer_expression "*(code **)(puVar7 + 0x2260dc)" * (cast_expression "(code **)(puVar7 + 0x2260dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2260dc)" ( (binary_expression "puVar7 + 0x2260dc" identifier + number_literal) ))))) )) (argument_list "(uVar4,*piVar15,uVar13)" ( identifier , (pointer_expression "*piVar15" * identifier) , identifier ))) ;) (expression_statement "piVar16 = (int *)puVar11[1];" (assignment_expression "piVar16 = (int *)puVar11[1]" identifier = (cast_expression "(int *)puVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (if_statement "if (piVar16 == piVar14) break;" if (parenthesized_expression "(piVar16 == piVar14)" ( (binary_expression "piVar16 == piVar14" identifier == identifier) )) (break_statement "break;" break ;)) }))) (expression_statement "iVar2 = piVar15[1];" (assignment_expression "iVar2 = piVar15[1]" identifier = (subscript_expression "piVar15[1]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" * (cast_expression "(undefined4 *)(iVar2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x58)" ( (binary_expression "iVar2 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 0x5c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x5c)" * (cast_expression "(uint *)(iVar2 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5c)" ( (binary_expression "iVar2 + 0x5c" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "pcVar8[0x1f] = '\x01';" (assignment_expression "pcVar8[0x1f] = '\x01'" (subscript_expression "pcVar8[0x1f]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (return_statement "return 1;" return number_literal ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT : : IDENT : :) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (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 *)) ) IDENT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != 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 *)) ) IDENT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) (compound_statement { (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 IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (return_statement return (binary_expression (parenthesized_expression ( (binary_expression IDENT - (parenthesized_expression ( (binary_expression (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (unary_expression - IDENT) != LIT) )))) - IDENT) & (binary_expression IDENT - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (binary_expression IDENT - (field_expression IDENT . field_identifier))) ))))) ))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (binary_expression IDENT - (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & (binary_expression IDENT - (field_expression IDENT . field_identifier))) )))) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (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 = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) && (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 (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (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 IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (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 IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (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 * 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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 IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_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 IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (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 IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (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 IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) }))) (labeled_statement statement_identifier : (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( BOOL )) ;)) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (return_statement return LIT ;) })))
(function_definition "int gold::Script_sections::header_size_adjustment(ulonglong param_1,uint param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  undefined *puVar7;\n  char *pcVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int in_a2;\n  undefined4 *puVar11;\n  uint uVar12;\n  uint in_a3;\n  undefined4 uVar13;\n  int *piVar14;\n  int *piVar15;\n  int *piVar16;\n  int *piVar17;\n  code *pcVar18;\n  \n  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc);\n  puVar7 = PTR_s_alize_xindex_004323b4;\n  if (iVar9 != 0) {\n    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    if (iVar2 != 0) {\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }\n    puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348);\n  }\n  uVar10 = 0x69;\n  puVar11 = (undefined4 *)(PTR_DAT_0043226c + -0x528c);\n  pcVar8 = puVar7 + -0x5cec;\n  puVar7 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(pcVar8,0x69);\n  if ((*pcVar8 != '\0') && (*(int *)(pcVar8 + 0x10) != 0)) {\n    (**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4);\n  }\n  piVar14 = (int *)*puVar11;\n  piVar16 = (int *)puVar11[1];\n  iVar9 = *(int *)(puVar7 + 0x2253cc);\n  if (piVar14 != piVar16) {\n    iVar2 = *piVar14;\n    bVar1 = false;\n    iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820;\n    uVar13 = *(undefined4 *)(iVar2 + 0x58);\n    uVar12 = *(uint *)(iVar2 + 0x5c);\nLAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );\n  }\n  pcVar8[0x1f] = '\x01';\n  return 1;\n}" (primitive_type "int") (ERROR "gold::Script_sections::" (identifier "gold") (: ":") (: ":") (identifier "Script_sections") (: ":") (: ":")) (function_declarator "header_size_adjustment(ulonglong param_1,uint param_2)" (identifier "header_size_adjustment") (parameter_list "(ulonglong param_1,uint param_2)" (( "(") (parameter_declaration "ulonglong param_1" (type_identifier "ulonglong") (identifier "param_1")) (, ",") (parameter_declaration "uint param_2" (type_identifier "uint") (identifier "param_2")) () ")"))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  undefined *puVar7;\n  char *pcVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int in_a2;\n  undefined4 *puVar11;\n  uint uVar12;\n  uint in_a3;\n  undefined4 uVar13;\n  int *piVar14;\n  int *piVar15;\n  int *piVar16;\n  int *piVar17;\n  code *pcVar18;\n  \n  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc);\n  puVar7 = PTR_s_alize_xindex_004323b4;\n  if (iVar9 != 0) {\n    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    if (iVar2 != 0) {\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }\n    puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348);\n  }\n  uVar10 = 0x69;\n  puVar11 = (undefined4 *)(PTR_DAT_0043226c + -0x528c);\n  pcVar8 = puVar7 + -0x5cec;\n  puVar7 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(pcVar8,0x69);\n  if ((*pcVar8 != '\0') && (*(int *)(pcVar8 + 0x10) != 0)) {\n    (**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4);\n  }\n  piVar14 = (int *)*puVar11;\n  piVar16 = (int *)puVar11[1];\n  iVar9 = *(int *)(puVar7 + 0x2253cc);\n  if (piVar14 != piVar16) {\n    iVar2 = *piVar14;\n    bVar1 = false;\n    iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820;\n    uVar13 = *(undefined4 *)(iVar2 + 0x58);\n    uVar12 = *(uint *)(iVar2 + 0x5c);\nLAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );\n  }\n  pcVar8[0x1f] = '\x01';\n  return 1;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "char *pcVar8;" (primitive_type "char") (pointer_declarator "*pcVar8" (* "*") (identifier "pcVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "int in_a2;" (primitive_type "int") (identifier "in_a2") (; ";")) (declaration "undefined4 *puVar11;" (type_identifier "undefined4") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "uint in_a3;" (type_identifier "uint") (identifier "in_a3") (; ";")) (declaration "undefined4 uVar13;" (type_identifier "undefined4") (identifier "uVar13") (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "int *piVar15;" (primitive_type "int") (pointer_declarator "*piVar15" (* "*") (identifier "piVar15")) (; ";")) (declaration "int *piVar16;" (primitive_type "int") (pointer_declarator "*piVar16" (* "*") (identifier "piVar16")) (; ";")) (declaration "int *piVar17;" (primitive_type "int") (pointer_declarator "*piVar17" (* "*") (identifier "piVar17")) (; ";")) (declaration "code *pcVar18;" (type_identifier "code") (pointer_declarator "*pcVar18" (* "*") (identifier "pcVar18")) (; ";")) (expression_statement "iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc);" (assignment_expression "iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 0xc)" (* "*") (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 0xc)" (( "(") (binary_expression "*(int *)PTR_parameters_00432be0 + 0xc" (pointer_expression "*(int *)PTR_parameters_00432be0" (* "*") (cast_expression "(int *)PTR_parameters_00432be0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_00432be0"))) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "puVar7 = PTR_s_alize_xindex_004323b4;" (assignment_expression "puVar7 = PTR_s_alize_xindex_004323b4" (identifier "puVar7") (= "=") (identifier "PTR_s_alize_xindex_004323b4")) (; ";")) (if_statement "if (iVar9 != 0) {\n    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    if (iVar2 != 0) {\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }\n    puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348);\n  }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    if (iVar2 != 0) {\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }\n    puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348);\n  }" ({ "{") (expression_statement "iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);" (assignment_expression "iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" (* "*") (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" (( "(") (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" (* "*") (cast_expression "(int *)PTR_parameters_00432be0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_00432be0"))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar2 != 0) {\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar6 = *(int *)(iVar2 + 0x5228);\n      iVar2 = *(int *)(iVar2 + 0x522c);\n      if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }\n      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));\n    }" ({ "{") (expression_statement "iVar6 = *(int *)(iVar2 + 0x5228);" (assignment_expression "iVar6 = *(int *)(iVar2 + 0x5228)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar2 + 0x5228)" (* "*") (cast_expression "(int *)(iVar2 + 0x5228)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x5228)" (( "(") (binary_expression "iVar2 + 0x5228" (identifier "iVar2") (+ "+") (number_literal "0x5228")) () ")"))))) (; ";")) (expression_statement "iVar2 = *(int *)(iVar2 + 0x522c);" (assignment_expression "iVar2 = *(int *)(iVar2 + 0x522c)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(iVar2 + 0x522c)" (* "*") (cast_expression "(int *)(iVar2 + 0x522c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x522c)" (( "(") (binary_expression "iVar2 + 0x522c" (identifier "iVar2") (+ "+") (number_literal "0x522c")) () ")"))))) (; ";")) (if_statement "if (iVar6 == 0 && iVar2 == 0) {\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }" (if "if") (parenthesized_expression "(iVar6 == 0 && iVar2 == 0)" (( "(") (binary_expression "iVar6 == 0 && iVar2 == 0" (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) (&& "&&") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n        iVar9 = *(int *)(iVar9 + 4);\n        iVar6 = *(int *)(iVar9 + 0x20);\n        iVar2 = *(int *)(iVar9 + 0x24);\n      }" ({ "{") (expression_statement "iVar9 = *(int *)(iVar9 + 4);" (assignment_expression "iVar9 = *(int *)(iVar9 + 4)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(iVar9 + 4)" (* "*") (cast_expression "(int *)(iVar9 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 4)" (( "(") (binary_expression "iVar9 + 4" (identifier "iVar9") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(iVar9 + 0x20);" (assignment_expression "iVar6 = *(int *)(iVar9 + 0x20)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar9 + 0x20)" (* "*") (cast_expression "(int *)(iVar9 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x20)" (( "(") (binary_expression "iVar9 + 0x20" (identifier "iVar9") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "iVar2 = *(int *)(iVar9 + 0x24);" (assignment_expression "iVar2 = *(int *)(iVar9 + 0x24)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(iVar9 + 0x24)" (* "*") (cast_expression "(int *)(iVar9 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x24)" (( "(") (binary_expression "iVar9 + 0x24" (identifier "iVar9") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (} "}"))) (return_statement "return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));" (return "return") (binary_expression "(in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_))" (parenthesized_expression "(in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))\n             )" (( "(") (binary_expression "in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))" (identifier "in_a2") (- "-") (parenthesized_expression "(-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))" (( "(") (binary_expression "-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_)" (binary_expression "-(uint)(-iVar2 != 0) - iVar6" (unary_expression "-(uint)(-iVar2 != 0)" (- "-") (call_expression "(uint)(-iVar2 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(-iVar2 != 0)" (( "(") (binary_expression "-iVar2 != 0" (unary_expression "-iVar2" (- "-") (identifier "iVar2")) (!= "!=") (number_literal "0")) () ")")))) (- "-") (identifier "iVar6")) (& "&") (binary_expression "in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_)" (identifier "in_a2") (- "-") (call_expression "(uint)(in_a3 < in_a3 - param_1._0_4_)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(in_a3 < in_a3 - param_1._0_4_)" (( "(") (binary_expression "in_a3 < in_a3 - param_1._0_4_" (identifier "in_a3") (< "<") (binary_expression "in_a3 - param_1._0_4_" (identifier "in_a3") (- "-") (field_expression "param_1._0_4_" (identifier "param_1") (. ".") (field_identifier "_0_4_")))) () ")"))))) () ")"))) () ")")) (- "-") (call_expression "(uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_))" (( "(") (binary_expression "in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_)" (identifier "in_a3") (< "<") (binary_expression "in_a3 - (-iVar2 & in_a3 - param_1._0_4_)" (identifier "in_a3") (- "-") (parenthesized_expression "(-iVar2 & in_a3 - param_1._0_4_)" (( "(") (binary_expression "-iVar2 & in_a3 - param_1._0_4_" (unary_expression "-iVar2" (- "-") (identifier "iVar2")) (& "&") (binary_expression "in_a3 - param_1._0_4_" (identifier "in_a3") (- "-") (field_expression "param_1._0_4_" (identifier "param_1") (. ".") (field_identifier "_0_4_")))) () ")")))) () ")")))) (; ";")) (} "}"))) (expression_statement "puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec;" (assignment_expression "puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec" (identifier "puVar7") (= "=") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x5cec"))) (; ";")) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(puVar7,0x5c,PTR_DAT_0043226c + -0x5348)" (( "(") (identifier "puVar7") (, ",") (number_literal "0x5c") (, ",") (binary_expression "PTR_DAT_0043226c + -0x5348" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "-0x5348")) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar10 = 0x69;" (assignment_expression "uVar10 = 0x69" (identifier "uVar10") (= "=") (number_literal "0x69")) (; ";")) (expression_statement "puVar11 = (undefined4 *)(PTR_DAT_0043226c + -0x528c);" (assignment_expression "puVar11 = (undefined4 *)(PTR_DAT_0043226c + -0x528c)" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)(PTR_DAT_0043226c + -0x528c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043226c + -0x528c)" (( "(") (binary_expression "PTR_DAT_0043226c + -0x528c" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "-0x528c")) () ")")))) (; ";")) (expression_statement "pcVar8 = puVar7 + -0x5cec;" (assignment_expression "pcVar8 = puVar7 + -0x5cec" (identifier "pcVar8") (= "=") (binary_expression "puVar7 + -0x5cec" (identifier "puVar7") (+ "+") (number_literal "-0x5cec"))) (; ";")) (expression_statement "puVar7 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar7 = PTR_do_gold_unreachable_004323c4" (identifier "puVar7") (= "=") (identifier "PTR_do_gold_unreachable_004323c4")) (; ";")) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(pcVar8,0x69);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(pcVar8,0x69)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(pcVar8,0x69)" (( "(") (identifier "pcVar8") (, ",") (number_literal "0x69") () ")"))) (; ";")) (if_statement "if ((*pcVar8 != '\0') && (*(int *)(pcVar8 + 0x10) != 0)) {\n    (**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4);\n  }" (if "if") (parenthesized_expression "((*pcVar8 != '\0') && (*(int *)(pcVar8 + 0x10) != 0))" (( "(") (binary_expression "(*pcVar8 != '\0') && (*(int *)(pcVar8 + 0x10) != 0)" (parenthesized_expression "(*pcVar8 != '\0')" (( "(") (binary_expression "*pcVar8 != '\0'" (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(pcVar8 + 0x10) != 0)" (( "(") (binary_expression "*(int *)(pcVar8 + 0x10) != 0" (pointer_expression "*(int *)(pcVar8 + 0x10)" (* "*") (cast_expression "(int *)(pcVar8 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar8 + 0x10)" (( "(") (binary_expression "pcVar8 + 0x10" (identifier "pcVar8") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    (**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4);\n  }" ({ "{") (expression_statement "(**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4);" (call_expression "(**(code **)(puVar7 + 0x225524))\n              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4)" (parenthesized_expression "(**(code **)(puVar7 + 0x225524))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x225524)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x225524)" (* "*") (cast_expression "(code **)(puVar7 + 0x225524)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x225524)" (( "(") (binary_expression "puVar7 + 0x225524" (identifier "puVar7") (+ "+") (number_literal "0x225524")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4)" (( "(") (binary_expression "*(int *)(puVar7 + 0x2253cc) + -0x5d54" (pointer_expression "*(int *)(puVar7 + 0x2253cc)" (* "*") (cast_expression "(int *)(puVar7 + 0x2253cc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x2253cc)" (( "(") (binary_expression "puVar7 + 0x2253cc" (identifier "puVar7") (+ "+") (number_literal "0x2253cc")) () ")")))) (+ "+") (number_literal "-0x5d54")) (, ",") (number_literal "0x102a") (, ",") (binary_expression "*(int *)(puVar7 + 0x2253cc) + -0x54f4" (pointer_expression "*(int *)(puVar7 + 0x2253cc)" (* "*") (cast_expression "(int *)(puVar7 + 0x2253cc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x2253cc)" (( "(") (binary_expression "puVar7 + 0x2253cc" (identifier "puVar7") (+ "+") (number_literal "0x2253cc")) () ")")))) (+ "+") (number_literal "-0x54f4")) () ")"))) (; ";")) (} "}"))) (expression_statement "piVar14 = (int *)*puVar11;" (assignment_expression "piVar14 = (int *)*puVar11" (identifier "piVar14") (= "=") (cast_expression "(int *)*puVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar11" (* "*") (identifier "puVar11")))) (; ";")) (expression_statement "piVar16 = (int *)puVar11[1];" (assignment_expression "piVar16 = (int *)puVar11[1]" (identifier "piVar16") (= "=") (cast_expression "(int *)puVar11[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "iVar9 = *(int *)(puVar7 + 0x2253cc);" (assignment_expression "iVar9 = *(int *)(puVar7 + 0x2253cc)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(puVar7 + 0x2253cc)" (* "*") (cast_expression "(int *)(puVar7 + 0x2253cc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x2253cc)" (( "(") (binary_expression "puVar7 + 0x2253cc" (identifier "puVar7") (+ "+") (number_literal "0x2253cc")) () ")"))))) (; ";")) (if_statement "if (piVar14 != piVar16) {\n    iVar2 = *piVar14;\n    bVar1 = false;\n    iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820;\n    uVar13 = *(undefined4 *)(iVar2 + 0x58);\n    uVar12 = *(uint *)(iVar2 + 0x5c);\nLAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );\n  }" (if "if") (parenthesized_expression "(piVar14 != piVar16)" (( "(") (binary_expression "piVar14 != piVar16" (identifier "piVar14") (!= "!=") (identifier "piVar16")) () ")")) (compound_statement "{\n    iVar2 = *piVar14;\n    bVar1 = false;\n    iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820;\n    uVar13 = *(undefined4 *)(iVar2 + 0x58);\n    uVar12 = *(uint *)(iVar2 + 0x5c);\nLAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );\n  }" ({ "{") (expression_statement "iVar2 = *piVar14;" (assignment_expression "iVar2 = *piVar14" (identifier "iVar2") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (expression_statement "iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820;" (assignment_expression "iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820" (identifier "iVar6") (= "=") (binary_expression "*(int *)(puVar7 + 0x225514) + -0x2820" (pointer_expression "*(int *)(puVar7 + 0x225514)" (* "*") (cast_expression "(int *)(puVar7 + 0x225514)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x225514)" (( "(") (binary_expression "puVar7 + 0x225514" (identifier "puVar7") (+ "+") (number_literal "0x225514")) () ")")))) (+ "+") (number_literal "-0x2820"))) (; ";")) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" (identifier "uVar13") (= "=") (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x58)" (( "(") (binary_expression "iVar2 + 0x58" (identifier "iVar2") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 0x5c)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(iVar2 + 0x5c)" (* "*") (cast_expression "(uint *)(iVar2 + 0x5c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x5c)" (( "(") (binary_expression "iVar2 + 0x5c" (identifier "iVar2") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (labeled_statement "LAB_0020cf64:\n    do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );" (statement_identifier "LAB_0020cf64") (: ":") (do_statement "do {\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    } while( true );" (do "do") (compound_statement "{\n      piVar17 = piVar14 + 1;\n      piVar15 = piVar14;\n      if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }\nLAB_0020cf70:\n      piVar14 = piVar17;\n      if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }\n      iVar2 = piVar15[1];\n      uVar13 = *(undefined4 *)(iVar2 + 0x58);\n      uVar12 = *(uint *)(iVar2 + 0x5c);\n    }" ({ "{") (expression_statement "piVar17 = piVar14 + 1;" (assignment_expression "piVar17 = piVar14 + 1" (identifier "piVar17") (= "=") (binary_expression "piVar14 + 1" (identifier "piVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar15 = piVar14;" (assignment_expression "piVar15 = piVar14" (identifier "piVar15") (= "=") (identifier "piVar14")) (; ";")) (if_statement "if (*(int *)(iVar2 + 0x54) == 7) {\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 0x54) == 7)" (( "(") (binary_expression "*(int *)(iVar2 + 0x54) == 7" (pointer_expression "*(int *)(iVar2 + 0x54)" (* "*") (cast_expression "(int *)(iVar2 + 0x54)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x54)" (( "(") (binary_expression "iVar2 + 0x54" (identifier "iVar2") (+ "+") (number_literal "0x54")) () ")")))) (== "==") (number_literal "7")) () ")")) (compound_statement "{\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }\n        uVar13 = *(undefined4 *)(iVar2 + 0x58);\n        uVar12 = *(uint *)(iVar2 + 0x5c);\n      }" ({ "{") (expression_statement "uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);" (assignment_expression "uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12)" (identifier "uVar13") (= "=") (call_expression "(**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12)" (parenthesized_expression "(**(code **)(puVar7 + 0x2281ac))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x2281ac)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x2281ac)" (* "*") (cast_expression "(code **)(puVar7 + 0x2281ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x2281ac)" (( "(") (binary_expression "puVar7 + 0x2281ac" (identifier "puVar7") (+ "+") (number_literal "0x2281ac")) () ")"))))) () ")")) (argument_list "(uVar13,uVar12)" (( "(") (identifier "uVar13") (, ",") (identifier "uVar12") () ")")))) (; ";")) (expression_statement "uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);" (assignment_expression "uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13)" (identifier "uVar4") (= "=") (call_expression "(**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260d8))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x2260d8)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x2260d8)" (* "*") (cast_expression "(code **)(puVar7 + 0x2260d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x2260d8)" (( "(") (binary_expression "puVar7 + 0x2260d8" (identifier "puVar7") (+ "+") (number_literal "0x2260d8")) () ")"))))) () ")")) (argument_list "(uVar10,4,uVar13)" (( "(") (identifier "uVar10") (, ",") (number_literal "4") (, ",") (identifier "uVar13") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);" (call_expression "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260dc))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x2260dc)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x2260dc)" (* "*") (cast_expression "(code **)(puVar7 + 0x2260dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x2260dc)" (( "(") (binary_expression "puVar7 + 0x2260dc" (identifier "puVar7") (+ "+") (number_literal "0x2260dc")) () ")"))))) () ")")) (argument_list "(uVar4,*piVar14,uVar13)" (( "(") (identifier "uVar4") (, ",") (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (, ",") (identifier "uVar13") () ")"))) (; ";")) (expression_statement "piVar16 = (int *)puVar11[1];" (assignment_expression "piVar16 = (int *)puVar11[1]" (identifier "piVar16") (= "=") (cast_expression "(int *)puVar11[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (piVar16 == piVar17) {\n          iVar2 = *piVar14;\n        }\n        else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }" (if "if") (parenthesized_expression "(piVar16 == piVar17)" (( "(") (binary_expression "piVar16 == piVar17" (identifier "piVar16") (== "==") (identifier "piVar17")) () ")")) (compound_statement "{\n          iVar2 = *piVar14;\n        }" ({ "{") (expression_statement "iVar2 = *piVar14;" (assignment_expression "iVar2 = *piVar14" (identifier "iVar2") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (} "}")) (else_clause "else {\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }" (else "else") (compound_statement "{\n          iVar2 = piVar14[1];\n          pcVar18 = *(code **)(puVar7 + 0x2281ac);\n          if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }\n          iVar2 = *piVar14;\n        }" ({ "{") (expression_statement "iVar2 = piVar14[1];" (assignment_expression "iVar2 = piVar14[1]" (identifier "iVar2") (= "=") (subscript_expression "piVar14[1]" (identifier "piVar14") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pcVar18 = *(code **)(puVar7 + 0x2281ac);" (assignment_expression "pcVar18 = *(code **)(puVar7 + 0x2281ac)" (identifier "pcVar18") (= "=") (pointer_expression "*(code **)(puVar7 + 0x2281ac)" (* "*") (cast_expression "(code **)(puVar7 + 0x2281ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x2281ac)" (( "(") (binary_expression "puVar7 + 0x2281ac" (identifier "puVar7") (+ "+") (number_literal "0x2281ac")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar2 + 0x54) == 7) {\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 0x54) == 7)" (( "(") (binary_expression "*(int *)(iVar2 + 0x54) == 7" (pointer_expression "*(int *)(iVar2 + 0x54)" (* "*") (cast_expression "(int *)(iVar2 + 0x54)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x54)" (( "(") (binary_expression "iVar2 + 0x54" (identifier "iVar2") (+ "+") (number_literal "0x54")) () ")")))) (== "==") (number_literal "7")) () ")")) (compound_statement "{\n            do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);\n            iVar2 = *piVar15;\n            uVar13 = *(undefined4 *)(iVar2 + 0x58);\n            uVar12 = *(uint *)(iVar2 + 0x5c);\n            goto LAB_0020cf70;\n          }" ({ "{") (do_statement "do {\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            } while (*(int *)(iVar2 + 0x54) == 7);" (do "do") (compound_statement "{\n              piVar15 = piVar17;\n              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar17 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }\n              iVar2 = piVar15[1];\n              pcVar18 = *(code **)(puVar7 + 0x2281ac);\n            }" ({ "{") (expression_statement "piVar15 = piVar17;" (assignment_expression "piVar15 = piVar17" (identifier "piVar15") (= "=") (identifier "piVar17")) (; ";")) (expression_statement "uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));" (assignment_expression "uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" (identifier "uVar13") (= "=") (call_expression "(*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" (parenthesized_expression "(*pcVar18)" (( "(") (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) () ")")) (argument_list "(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" (( "(") (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x58)" (( "(") (binary_expression "iVar2 + 0x58" (identifier "iVar2") (+ "+") (number_literal "0x58")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar2 + 0x5c)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x5c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x5c)" (( "(") (binary_expression "iVar2 + 0x5c" (identifier "iVar2") (+ "+") (number_literal "0x5c")) () ")")))) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);" (call_expression "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260dc))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x2260dc)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x2260dc)" (* "*") (cast_expression "(code **)(puVar7 + 0x2260dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x2260dc)" (( "(") (binary_expression "puVar7 + 0x2260dc" (identifier "puVar7") (+ "+") (number_literal "0x2260dc")) () ")"))))) () ")")) (argument_list "(uVar4,*piVar15,uVar13)" (( "(") (identifier "uVar4") (, ",") (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (, ",") (identifier "uVar13") () ")"))) (; ";")) (expression_statement "piVar17 = piVar15 + 1;" (assignment_expression "piVar17 = piVar15 + 1" (identifier "piVar17") (= "=") (binary_expression "piVar15 + 1" (identifier "piVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar16 = (int *)puVar11[1];" (assignment_expression "piVar16 = (int *)puVar11[1]" (identifier "piVar16") (= "=") (cast_expression "(int *)puVar11[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (piVar16 == piVar17) {\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }" (if "if") (parenthesized_expression "(piVar16 == piVar17)" (( "(") (binary_expression "piVar16 == piVar17" (identifier "piVar16") (== "==") (identifier "piVar17")) () ")")) (compound_statement "{\n                iVar2 = *piVar15;\n                uVar13 = *(undefined4 *)(iVar2 + 0x58);\n                uVar12 = *(uint *)(iVar2 + 0x5c);\n                piVar17 = piVar16;\n                goto LAB_0020cf70;\n              }" ({ "{") (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" (identifier "iVar2") (= "=") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) (; ";")) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" (identifier "uVar13") (= "=") (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x58)" (( "(") (binary_expression "iVar2 + 0x58" (identifier "iVar2") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 0x5c)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(iVar2 + 0x5c)" (* "*") (cast_expression "(uint *)(iVar2 + 0x5c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x5c)" (( "(") (binary_expression "iVar2 + 0x5c" (identifier "iVar2") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (expression_statement "piVar17 = piVar16;" (assignment_expression "piVar17 = piVar16" (identifier "piVar17") (= "=") (identifier "piVar16")) (; ";")) (goto_statement "goto LAB_0020cf70;" (goto "goto") (statement_identifier "LAB_0020cf70") (; ";")) (} "}"))) (expression_statement "iVar2 = piVar15[1];" (assignment_expression "iVar2 = piVar15[1]" (identifier "iVar2") (= "=") (subscript_expression "piVar15[1]" (identifier "piVar15") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pcVar18 = *(code **)(puVar7 + 0x2281ac);" (assignment_expression "pcVar18 = *(code **)(puVar7 + 0x2281ac)" (identifier "pcVar18") (= "=") (pointer_expression "*(code **)(puVar7 + 0x2281ac)" (* "*") (cast_expression "(code **)(puVar7 + 0x2281ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x2281ac)" (( "(") (binary_expression "puVar7 + 0x2281ac" (identifier "puVar7") (+ "+") (number_literal "0x2281ac")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int *)(iVar2 + 0x54) == 7)" (( "(") (binary_expression "*(int *)(iVar2 + 0x54) == 7" (pointer_expression "*(int *)(iVar2 + 0x54)" (* "*") (cast_expression "(int *)(iVar2 + 0x54)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x54)" (( "(") (binary_expression "iVar2 + 0x54" (identifier "iVar2") (+ "+") (number_literal "0x54")) () ")")))) (== "==") (number_literal "7")) () ")")) (; ";")) (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" (identifier "iVar2") (= "=") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) (; ";")) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" (identifier "uVar13") (= "=") (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x58)" (( "(") (binary_expression "iVar2 + 0x58" (identifier "iVar2") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 0x5c)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(iVar2 + 0x5c)" (* "*") (cast_expression "(uint *)(iVar2 + 0x5c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x5c)" (( "(") (binary_expression "iVar2 + 0x5c" (identifier "iVar2") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (goto_statement "goto LAB_0020cf70;" (goto "goto") (statement_identifier "LAB_0020cf70") (; ";")) (} "}"))) (expression_statement "iVar2 = *piVar14;" (assignment_expression "iVar2 = *piVar14" (identifier "iVar2") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (} "}")))) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" (identifier "uVar13") (= "=") (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x58)" (( "(") (binary_expression "iVar2 + 0x58" (identifier "iVar2") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 0x5c)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(iVar2 + 0x5c)" (* "*") (cast_expression "(uint *)(iVar2 + 0x5c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x5c)" (( "(") (binary_expression "iVar2 + 0x5c" (identifier "iVar2") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (} "}"))) (labeled_statement "LAB_0020cf70:\n      piVar14 = piVar17;" (statement_identifier "LAB_0020cf70") (: ":") (expression_statement "piVar14 = piVar17;" (assignment_expression "piVar14 = piVar17" (identifier "piVar14") (= "=") (identifier "piVar17")) (; ";"))) (if_statement "if ((uVar12 & 0x400) == 0) {\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }\n      else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }" (if "if") (parenthesized_expression "((uVar12 & 0x400) == 0)" (( "(") (binary_expression "(uVar12 & 0x400) == 0" (parenthesized_expression "(uVar12 & 0x400)" (( "(") (binary_expression "uVar12 & 0x400" (identifier "uVar12") (& "&") (number_literal "0x400")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n        if (iVar3 == 0) goto LAB_0020cf94;\n        if (piVar16 == piVar14) break;\n      }" ({ "{") (labeled_statement "LAB_0020cf7c:\n        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);" (statement_identifier "LAB_0020cf7c") (: ":") (expression_statement "iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);" (assignment_expression "iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6)" (parenthesized_expression "(**(code **)(puVar7 + 0x2297a4))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x2297a4)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x2297a4)" (* "*") (cast_expression "(code **)(puVar7 + 0x2297a4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x2297a4)" (( "(") (binary_expression "puVar7 + 0x2297a4" (identifier "puVar7") (+ "+") (number_literal "0x2297a4")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar2 + 0x24),iVar6)" (( "(") (pointer_expression "*(undefined4 *)(iVar2 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x24)" (( "(") (binary_expression "iVar2 + 0x24" (identifier "iVar2") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (identifier "iVar6") () ")")))) (; ";"))) (if_statement "if (iVar3 == 0) goto LAB_0020cf94;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0020cf94;" (goto "goto") (statement_identifier "LAB_0020cf94") (; ";"))) (if_statement "if (piVar16 == piVar14) break;" (if "if") (parenthesized_expression "(piVar16 == piVar14)" (( "(") (binary_expression "piVar16 == piVar14" (identifier "piVar16") (== "==") (identifier "piVar14")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")) (else_clause "else {\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }" (else "else") (compound_statement "{\n        if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }\nLAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));\n        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);\n        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n        piVar16 = (int *)puVar11[1];\n        if (piVar16 == piVar14) break;\n      }" ({ "{") (if_statement "if (bVar1) {\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);\n          (**(code **)(puVar7 + 0x225ee4))(uVar13);\n          uVar13 = *(undefined4 *)(*piVar15 + 0x58);\n          uVar12 = *(uint *)(*piVar15 + 0x5c);\n        }" ({ "{") (expression_statement "uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);" (assignment_expression "uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8)" (identifier "uVar13") (= "=") (call_expression "(**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8)" (parenthesized_expression "(**(code **)(puVar7 + 0x229978))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x229978)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x229978)" (* "*") (cast_expression "(code **)(puVar7 + 0x229978)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x229978)" (( "(") (binary_expression "puVar7 + 0x229978" (identifier "puVar7") (+ "+") (number_literal "0x229978")) () ")"))))) () ")")) (argument_list "(iVar9 + -0x59b8)" (( "(") (binary_expression "iVar9 + -0x59b8" (identifier "iVar9") (+ "+") (number_literal "-0x59b8")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar7 + 0x225ee4))(uVar13);" (call_expression "(**(code **)(puVar7 + 0x225ee4))(uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x225ee4))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x225ee4)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x225ee4)" (* "*") (cast_expression "(code **)(puVar7 + 0x225ee4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x225ee4)" (( "(") (binary_expression "puVar7 + 0x225ee4" (identifier "puVar7") (+ "+") (number_literal "0x225ee4")) () ")"))))) () ")")) (argument_list "(uVar13)" (( "(") (identifier "uVar13") () ")"))) (; ";")) (expression_statement "uVar13 = *(undefined4 *)(*piVar15 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(*piVar15 + 0x58)" (identifier "uVar13") (= "=") (pointer_expression "*(undefined4 *)(*piVar15 + 0x58)" (* "*") (cast_expression "(undefined4 *)(*piVar15 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar15 + 0x58)" (( "(") (binary_expression "*piVar15 + 0x58" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(uint *)(*piVar15 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(*piVar15 + 0x5c)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(*piVar15 + 0x5c)" (* "*") (cast_expression "(uint *)(*piVar15 + 0x5c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar15 + 0x5c)" (( "(") (binary_expression "*piVar15 + 0x5c" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);" (assignment_expression "uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12)" (identifier "uVar13") (= "=") (call_expression "(**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12)" (parenthesized_expression "(**(code **)(puVar7 + 0x2281ac))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x2281ac)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x2281ac)" (* "*") (cast_expression "(code **)(puVar7 + 0x2281ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x2281ac)" (( "(") (binary_expression "puVar7 + 0x2281ac" (identifier "puVar7") (+ "+") (number_literal "0x2281ac")) () ")"))))) () ")")) (argument_list "(uVar13,uVar12)" (( "(") (identifier "uVar13") (, ",") (identifier "uVar12") () ")")))) (; ";")) (expression_statement "uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);" (assignment_expression "uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13)" (identifier "uVar4") (= "=") (call_expression "(**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260d8))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x2260d8)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x2260d8)" (* "*") (cast_expression "(code **)(puVar7 + 0x2260d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x2260d8)" (( "(") (binary_expression "puVar7 + 0x2260d8" (identifier "puVar7") (+ "+") (number_literal "0x2260d8")) () ")"))))) () ")")) (argument_list "(uVar10,7,uVar13)" (( "(") (identifier "uVar10") (, ",") (number_literal "7") (, ",") (identifier "uVar13") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);" (call_expression "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260dc))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x2260dc)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x2260dc)" (* "*") (cast_expression "(code **)(puVar7 + 0x2260dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x2260dc)" (( "(") (binary_expression "puVar7 + 0x2260dc" (identifier "puVar7") (+ "+") (number_literal "0x2260dc")) () ")"))))) () ")")) (argument_list "(uVar4,*piVar15,uVar13)" (( "(") (identifier "uVar4") (, ",") (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (, ",") (identifier "uVar13") () ")"))) (; ";")) (expression_statement "piVar16 = (int *)puVar11[1];" (assignment_expression "piVar16 = (int *)puVar11[1]" (identifier "piVar16") (= "=") (cast_expression "(int *)puVar11[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (piVar16 == piVar14) {\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }\n        else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }" (if "if") (parenthesized_expression "(piVar16 == piVar14)" (( "(") (binary_expression "piVar16 == piVar14" (identifier "piVar16") (== "==") (identifier "piVar14")) () ")")) (compound_statement "{\n          iVar2 = *piVar15;\n          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar3 != 0) break;\n          bVar1 = true;\n        }" ({ "{") (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" (identifier "iVar2") (= "=") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) (; ";")) (expression_statement "iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);" (assignment_expression "iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6)" (parenthesized_expression "(**(code **)(puVar7 + 0x2297a4))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x2297a4)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x2297a4)" (* "*") (cast_expression "(code **)(puVar7 + 0x2297a4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x2297a4)" (( "(") (binary_expression "puVar7 + 0x2297a4" (identifier "puVar7") (+ "+") (number_literal "0x2297a4")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar2 + 0x24),iVar6)" (( "(") (pointer_expression "*(undefined4 *)(iVar2 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x24)" (( "(") (binary_expression "iVar2 + 0x24" (identifier "iVar2") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (identifier "iVar6") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) break;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (} "}")) (else_clause "else {\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }" (else "else") (compound_statement "{\n          iVar3 = piVar15[1];\n          uVar12 = *(uint *)(iVar3 + 0x5c);\n          uVar13 = *(undefined4 *)(iVar3 + 0x58);\n          if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }\n          iVar2 = *piVar15;\n          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);\n          if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }\n          bVar1 = true;\n        }" ({ "{") (expression_statement "iVar3 = piVar15[1];" (assignment_expression "iVar3 = piVar15[1]" (identifier "iVar3") (= "=") (subscript_expression "piVar15[1]" (identifier "piVar15") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar12 = *(uint *)(iVar3 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(iVar3 + 0x5c)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(iVar3 + 0x5c)" (* "*") (cast_expression "(uint *)(iVar3 + 0x5c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x5c)" (( "(") (binary_expression "iVar3 + 0x5c" (identifier "iVar3") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (expression_statement "uVar13 = *(undefined4 *)(iVar3 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar3 + 0x58)" (identifier "uVar13") (= "=") (pointer_expression "*(undefined4 *)(iVar3 + 0x58)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x58)" (( "(") (binary_expression "iVar3 + 0x58" (identifier "iVar3") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (if_statement "if ((uVar12 & 0x400) != 0) {\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }" (if "if") (parenthesized_expression "((uVar12 & 0x400) != 0)" (( "(") (binary_expression "(uVar12 & 0x400) != 0" (parenthesized_expression "(uVar12 & 0x400)" (( "(") (binary_expression "uVar12 & 0x400" (identifier "uVar12") (& "&") (number_literal "0x400")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);\n            iVar2 = *piVar15;\n            bVar1 = true;\n            goto LAB_0020cf7c;\n          }" ({ "{") (do_statement "do {\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            } while ((uVar12 & 0x400) != 0);" (do "do") (compound_statement "{\n              piVar15 = piVar14;\n              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);\n              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);\n              piVar14 = piVar15 + 1;\n              piVar16 = (int *)puVar11[1];\n              if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }\n              uVar12 = *(uint *)(piVar15[1] + 0x5c);\n              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);\n            }" ({ "{") (expression_statement "piVar15 = piVar14;" (assignment_expression "piVar15 = piVar14" (identifier "piVar15") (= "=") (identifier "piVar14")) (; ";")) (expression_statement "uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);" (assignment_expression "uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12)" (identifier "uVar13") (= "=") (call_expression "(**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12)" (parenthesized_expression "(**(code **)(puVar7 + 0x2281ac))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x2281ac)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x2281ac)" (* "*") (cast_expression "(code **)(puVar7 + 0x2281ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x2281ac)" (( "(") (binary_expression "puVar7 + 0x2281ac" (identifier "puVar7") (+ "+") (number_literal "0x2281ac")) () ")"))))) () ")")) (argument_list "(uVar13,uVar12)" (( "(") (identifier "uVar13") (, ",") (identifier "uVar12") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);" (call_expression "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260dc))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x2260dc)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x2260dc)" (* "*") (cast_expression "(code **)(puVar7 + 0x2260dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x2260dc)" (( "(") (binary_expression "puVar7 + 0x2260dc" (identifier "puVar7") (+ "+") (number_literal "0x2260dc")) () ")"))))) () ")")) (argument_list "(uVar4,*piVar15,uVar13)" (( "(") (identifier "uVar4") (, ",") (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (, ",") (identifier "uVar13") () ")"))) (; ";")) (expression_statement "piVar14 = piVar15 + 1;" (assignment_expression "piVar14 = piVar15 + 1" (identifier "piVar14") (= "=") (binary_expression "piVar15 + 1" (identifier "piVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar16 = (int *)puVar11[1];" (assignment_expression "piVar16 = (int *)puVar11[1]" (identifier "piVar16") (= "=") (cast_expression "(int *)puVar11[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (piVar16 == piVar14) {\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }" (if "if") (parenthesized_expression "(piVar16 == piVar14)" (( "(") (binary_expression "piVar16 == piVar14" (identifier "piVar16") (== "==") (identifier "piVar14")) () ")")) (compound_statement "{\n                iVar2 = *piVar15;\n                bVar1 = true;\n                piVar14 = piVar16;\n                goto LAB_0020cf7c;\n              }" ({ "{") (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" (identifier "iVar2") (= "=") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) (; ";")) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (expression_statement "piVar14 = piVar16;" (assignment_expression "piVar14 = piVar16" (identifier "piVar14") (= "=") (identifier "piVar16")) (; ";")) (goto_statement "goto LAB_0020cf7c;" (goto "goto") (statement_identifier "LAB_0020cf7c") (; ";")) (} "}"))) (expression_statement "uVar12 = *(uint *)(piVar15[1] + 0x5c);" (assignment_expression "uVar12 = *(uint *)(piVar15[1] + 0x5c)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(piVar15[1] + 0x5c)" (* "*") (cast_expression "(uint *)(piVar15[1] + 0x5c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar15[1] + 0x5c)" (( "(") (binary_expression "piVar15[1] + 0x5c" (subscript_expression "piVar15[1]" (identifier "piVar15") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (expression_statement "uVar13 = *(undefined4 *)(piVar15[1] + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(piVar15[1] + 0x58)" (identifier "uVar13") (= "=") (pointer_expression "*(undefined4 *)(piVar15[1] + 0x58)" (* "*") (cast_expression "(undefined4 *)(piVar15[1] + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar15[1] + 0x58)" (( "(") (binary_expression "piVar15[1] + 0x58" (subscript_expression "piVar15[1]" (identifier "piVar15") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((uVar12 & 0x400) != 0)" (( "(") (binary_expression "(uVar12 & 0x400) != 0" (parenthesized_expression "(uVar12 & 0x400)" (( "(") (binary_expression "uVar12 & 0x400" (identifier "uVar12") (& "&") (number_literal "0x400")) () ")")) (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" (identifier "iVar2") (= "=") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) (; ";")) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (goto_statement "goto LAB_0020cf7c;" (goto "goto") (statement_identifier "LAB_0020cf7c") (; ";")) (} "}"))) (expression_statement "iVar2 = *piVar15;" (assignment_expression "iVar2 = *piVar15" (identifier "iVar2") (= "=") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) (; ";")) (expression_statement "iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);" (assignment_expression "iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6)" (parenthesized_expression "(**(code **)(puVar7 + 0x2297a4))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x2297a4)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x2297a4)" (* "*") (cast_expression "(code **)(puVar7 + 0x2297a4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x2297a4)" (( "(") (binary_expression "puVar7 + 0x2297a4" (identifier "puVar7") (+ "+") (number_literal "0x2297a4")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar2 + 0x24),iVar6)" (( "(") (pointer_expression "*(undefined4 *)(iVar2 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x24)" (( "(") (binary_expression "iVar2 + 0x24" (identifier "iVar2") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (identifier "iVar6") () ")")))) (; ";")) (if_statement "if (iVar5 != 0) {\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            bVar1 = true;\n            iVar2 = iVar3;\n            goto LAB_0020cf64;\n          }" ({ "{") (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (expression_statement "iVar2 = iVar3;" (assignment_expression "iVar2 = iVar3" (identifier "iVar2") (= "=") (identifier "iVar3")) (; ";")) (goto_statement "goto LAB_0020cf64;" (goto "goto") (statement_identifier "LAB_0020cf64") (; ";")) (} "}"))) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (} "}")))) (labeled_statement "LAB_0020cf94:\n        uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));" (statement_identifier "LAB_0020cf94") (: ":") (expression_statement "uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));" (assignment_expression "uVar13 = (**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" (identifier "uVar13") (= "=") (call_expression "(**(code **)(puVar7 + 0x2281ac))\n                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" (parenthesized_expression "(**(code **)(puVar7 + 0x2281ac))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x2281ac)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x2281ac)" (* "*") (cast_expression "(code **)(puVar7 + 0x2281ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x2281ac)" (( "(") (binary_expression "puVar7 + 0x2281ac" (identifier "puVar7") (+ "+") (number_literal "0x2281ac")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c))" (( "(") (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x58)" (( "(") (binary_expression "iVar2 + 0x58" (identifier "iVar2") (+ "+") (number_literal "0x58")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar2 + 0x5c)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x5c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x5c)" (( "(") (binary_expression "iVar2 + 0x5c" (identifier "iVar2") (+ "+") (number_literal "0x5c")) () ")")))) () ")")))) (; ";"))) (expression_statement "uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);" (assignment_expression "uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13)" (identifier "uVar4") (= "=") (call_expression "(**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260d8))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x2260d8)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x2260d8)" (* "*") (cast_expression "(code **)(puVar7 + 0x2260d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x2260d8)" (( "(") (binary_expression "puVar7 + 0x2260d8" (identifier "puVar7") (+ "+") (number_literal "0x2260d8")) () ")"))))) () ")")) (argument_list "(uVar10,3,uVar13)" (( "(") (identifier "uVar10") (, ",") (number_literal "3") (, ",") (identifier "uVar13") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);" (call_expression "(**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13)" (parenthesized_expression "(**(code **)(puVar7 + 0x2260dc))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x2260dc)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x2260dc)" (* "*") (cast_expression "(code **)(puVar7 + 0x2260dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x2260dc)" (( "(") (binary_expression "puVar7 + 0x2260dc" (identifier "puVar7") (+ "+") (number_literal "0x2260dc")) () ")"))))) () ")")) (argument_list "(uVar4,*piVar15,uVar13)" (( "(") (identifier "uVar4") (, ",") (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (, ",") (identifier "uVar13") () ")"))) (; ";")) (expression_statement "piVar16 = (int *)puVar11[1];" (assignment_expression "piVar16 = (int *)puVar11[1]" (identifier "piVar16") (= "=") (cast_expression "(int *)puVar11[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (piVar16 == piVar14) break;" (if "if") (parenthesized_expression "(piVar16 == piVar14)" (( "(") (binary_expression "piVar16 == piVar14" (identifier "piVar16") (== "==") (identifier "piVar14")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")))) (expression_statement "iVar2 = piVar15[1];" (assignment_expression "iVar2 = piVar15[1]" (identifier "iVar2") (= "=") (subscript_expression "piVar15[1]" (identifier "piVar15") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar13 = *(undefined4 *)(iVar2 + 0x58);" (assignment_expression "uVar13 = *(undefined4 *)(iVar2 + 0x58)" (identifier "uVar13") (= "=") (pointer_expression "*(undefined4 *)(iVar2 + 0x58)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x58)" (( "(") (binary_expression "iVar2 + 0x58" (identifier "iVar2") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(uint *)(iVar2 + 0x5c);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 0x5c)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(iVar2 + 0x5c)" (* "*") (cast_expression "(uint *)(iVar2 + 0x5c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x5c)" (( "(") (binary_expression "iVar2 + 0x5c" (identifier "iVar2") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}"))) (expression_statement "pcVar8[0x1f] = '\x01';" (assignment_expression "pcVar8[0x1f] = '\x01'" (subscript_expression "pcVar8[0x1f]" (identifier "pcVar8") ([ "[") (number_literal "0x1f") (] "]")) (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) (ERROR (identifier) (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))))) (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: (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: (identifier))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) 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)) 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: (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: (identifier) right: (number_literal))))))))) (return_statement (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (binary_expression left: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal))))) right: (identifier)) right: (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier))))))))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) 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: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (number_literal) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))))))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (identifier)))) (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: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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))))) (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 (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) 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)))) (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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier)))) (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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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))))) (identifier)))))) (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: (identifier) right: (identifier))) consequence: (break_statement))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (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: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (identifier)))) (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: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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))))) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (true)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (true))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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))))) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (true)))))) (labeled_statement label: (statement_identifier) (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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))))) (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: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (identifier)))) (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: (identifier))) consequence: (break_statement))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (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)))))))) condition: (parenthesized_expression (true)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (return_statement (number_literal)))))

/* gold::Script_sections::MASKED(unsigned long long, unsigned int) const */

int gold::Script_sections::MASKED(ulonglong param_1,uint param_2)

{
  bool bVar1;
  int iVar2;
  int iVar3;
  undefined4 uVar4;
  int iVar5;
  int iVar6;
  undefined *puVar7;
  char *pcVar8;
  int iVar9;
  undefined4 uVar10;
  int in_a2;
  undefined4 *puVar11;
  uint uVar12;
  uint in_a3;
  undefined4 uVar13;
  int *piVar14;
  int *piVar15;
  int *piVar16;
  int *piVar17;
  code *pcVar18;
  
  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 0xc);
  puVar7 = PTR_s_alize_xindex_004323b4;
  if (iVar9 != 0) {
    iVar2 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);
    if (iVar2 != 0) {
      iVar6 = *(int *)(iVar2 + 0x5228);
      iVar2 = *(int *)(iVar2 + 0x522c);
      if (iVar6 == 0 && iVar2 == 0) {
        iVar9 = *(int *)(iVar9 + 4);
        iVar6 = *(int *)(iVar9 + 0x20);
        iVar2 = *(int *)(iVar9 + 0x24);
      }
      return (in_a2 - (-(uint)(-iVar2 != 0) - iVar6 & in_a2 - (uint)(in_a3 < in_a3 - param_1._0_4_))
             ) - (uint)(in_a3 < in_a3 - (-iVar2 & in_a3 - param_1._0_4_));
    }
    puVar7 = PTR_s_alize_xindex_004323b4 + -0x5cec;
    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar7,0x5c,PTR_DAT_0043226c + -0x5348);
  }
  uVar10 = 0x69;
  puVar11 = (undefined4 *)(PTR_DAT_0043226c + -0x528c);
  pcVar8 = puVar7 + -0x5cec;
  puVar7 = PTR_do_gold_unreachable_004323c4;
  (*(code *)PTR_do_gold_unreachable_004323c4)(pcVar8,0x69);
  if ((*pcVar8 != '\0') && (*(int *)(pcVar8 + 0x10) != 0)) {
    (**(code **)(puVar7 + 0x225524))
              (*(int *)(puVar7 + 0x2253cc) + -0x5d54,0x102a,*(int *)(puVar7 + 0x2253cc) + -0x54f4);
  }
  piVar14 = (int *)*puVar11;
  piVar16 = (int *)puVar11[1];
  iVar9 = *(int *)(puVar7 + 0x2253cc);
  if (piVar14 != piVar16) {
    iVar2 = *piVar14;
    bVar1 = false;
    iVar6 = *(int *)(puVar7 + 0x225514) + -0x2820;
    uVar13 = *(undefined4 *)(iVar2 + 0x58);
    uVar12 = *(uint *)(iVar2 + 0x5c);
LAB_0020cf64:
    do {
      piVar17 = piVar14 + 1;
      piVar15 = piVar14;
      if (*(int *)(iVar2 + 0x54) == 7) {
        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);
        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,4,uVar13);
        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar14,uVar13);
        piVar16 = (int *)puVar11[1];
        if (piVar16 == piVar17) {
          iVar2 = *piVar14;
        }
        else {
          iVar2 = piVar14[1];
          pcVar18 = *(code **)(puVar7 + 0x2281ac);
          if (*(int *)(iVar2 + 0x54) == 7) {
            do {
              piVar15 = piVar17;
              uVar13 = (*pcVar18)(*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));
              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);
              piVar17 = piVar15 + 1;
              piVar16 = (int *)puVar11[1];
              if (piVar16 == piVar17) {
                iVar2 = *piVar15;
                uVar13 = *(undefined4 *)(iVar2 + 0x58);
                uVar12 = *(uint *)(iVar2 + 0x5c);
                piVar17 = piVar16;
                goto LAB_0020cf70;
              }
              iVar2 = piVar15[1];
              pcVar18 = *(code **)(puVar7 + 0x2281ac);
            } while (*(int *)(iVar2 + 0x54) == 7);
            iVar2 = *piVar15;
            uVar13 = *(undefined4 *)(iVar2 + 0x58);
            uVar12 = *(uint *)(iVar2 + 0x5c);
            goto LAB_0020cf70;
          }
          iVar2 = *piVar14;
        }
        uVar13 = *(undefined4 *)(iVar2 + 0x58);
        uVar12 = *(uint *)(iVar2 + 0x5c);
      }
LAB_0020cf70:
      piVar14 = piVar17;
      if ((uVar12 & 0x400) == 0) {
LAB_0020cf7c:
        iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);
        if (iVar3 == 0) goto LAB_0020cf94;
        if (piVar16 == piVar14) break;
      }
      else {
        if (bVar1) {
          uVar13 = (**(code **)(puVar7 + 0x229978))(iVar9 + -0x59b8);
          (**(code **)(puVar7 + 0x225ee4))(uVar13);
          uVar13 = *(undefined4 *)(*piVar15 + 0x58);
          uVar12 = *(uint *)(*piVar15 + 0x5c);
        }
        uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);
        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,7,uVar13);
        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);
        piVar16 = (int *)puVar11[1];
        if (piVar16 == piVar14) {
          iVar2 = *piVar15;
          iVar3 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);
          if (iVar3 != 0) break;
          bVar1 = true;
        }
        else {
          iVar3 = piVar15[1];
          uVar12 = *(uint *)(iVar3 + 0x5c);
          uVar13 = *(undefined4 *)(iVar3 + 0x58);
          if ((uVar12 & 0x400) != 0) {
            do {
              piVar15 = piVar14;
              uVar13 = (**(code **)(puVar7 + 0x2281ac))(uVar13,uVar12);
              (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);
              piVar14 = piVar15 + 1;
              piVar16 = (int *)puVar11[1];
              if (piVar16 == piVar14) {
                iVar2 = *piVar15;
                bVar1 = true;
                piVar14 = piVar16;
                goto LAB_0020cf7c;
              }
              uVar12 = *(uint *)(piVar15[1] + 0x5c);
              uVar13 = *(undefined4 *)(piVar15[1] + 0x58);
            } while ((uVar12 & 0x400) != 0);
            iVar2 = *piVar15;
            bVar1 = true;
            goto LAB_0020cf7c;
          }
          iVar2 = *piVar15;
          iVar5 = (**(code **)(puVar7 + 0x2297a4))(*(undefined4 *)(iVar2 + 0x24),iVar6);
          if (iVar5 != 0) {
            bVar1 = true;
            iVar2 = iVar3;
            goto LAB_0020cf64;
          }
          bVar1 = true;
        }
LAB_0020cf94:
        uVar13 = (**(code **)(puVar7 + 0x2281ac))
                           (*(undefined4 *)(iVar2 + 0x58),*(undefined4 *)(iVar2 + 0x5c));
        uVar4 = (**(code **)(puVar7 + 0x2260d8))(uVar10,3,uVar13);
        (**(code **)(puVar7 + 0x2260dc))(uVar4,*piVar15,uVar13);
        piVar16 = (int *)puVar11[1];
        if (piVar16 == piVar14) break;
      }
      iVar2 = piVar15[1];
      uVar13 = *(undefined4 *)(iVar2 + 0x58);
      uVar12 = *(uint *)(iVar2 + 0x5c);
    } while( true );
  }
  pcVar8[0x1f] = '\x01';
  return 1;
}

