
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original prototype: string get_name(Check_script * this) */

string * __thiscall gold::Check_script::get_name(string *__return_storage_ptr__,Check_script *this)

{
  byte bVar1;
  byte bVar2;
  int iVar3;
  uint uVar4;
  int *piVar5;
  string *psVar6;
  size_type *psVar7;
  int iVar8;
  uint extraout_v1;
  undefined *puVar9;
  Output_section *this_00;
  Output_section *this_01;
  uchar *puVar10;
  int iVar11;
  byte *pbVar12;
  undefined4 *puVar13;
  int iVar14;
  int iVar15;
  undefined *puVar16;
  code *pcVar17;
  ulonglong uVar18;
  int aiStack_e0 [2];
  undefined4 uStack_d8;
  undefined *puStack_d0;
  undefined1 *puStack_cc;
  undefined1 **ppuStack_c8;
  int iStack_c4;
  undefined1 *local_30;
  int local_2c;
  undefined1 auStack_28 [20];
  
  puVar13 = (undefined4 *)0x0;
  local_30 = auStack_28;
  (*(code *)PTR__M_construct<char_const*>_00432488)
            (&local_30,PTR_s__0043226c + -0x6e10,PTR_s__0043226c + -0x6e03);
                    /* try { // try from 001f0ae0 to 001f0bef has its CatchHandler @ 001f0bf0 */
  iVar3 = (*this->input_reader_->_vptr_Input_reader[2])(this->input_reader_);
  uVar4 = (*(code *)PTR_strlen_0043677c)(iVar3);
  if (uVar4 <= 0x7fffffffU - local_2c) {
    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,iVar3,uVar4);
    psVar7 = (size_type *)(piVar5 + 2);
    (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)&__return_storage_ptr__->field_2;
    if ((size_type *)*piVar5 == psVar7) {
      iVar14 = piVar5[3];
      iVar11 = piVar5[4];
      iVar3 = piVar5[5];
      (__return_storage_ptr__->field_2)._M_allocated_capacity = *psVar7;
      *(int *)((int)&__return_storage_ptr__->field_2 + 4) = iVar14;
      *(int *)((int)&__return_storage_ptr__->field_2 + 8) = iVar11;
      *(int *)((int)&__return_storage_ptr__->field_2 + 0xc) = iVar3;
    }
    else {
      (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)*piVar5;
      (__return_storage_ptr__->field_2)._M_allocated_capacity = piVar5[2];
    }
    __return_storage_ptr__->_M_string_length = piVar5[1];
    *piVar5 = (int)psVar7;
    piVar5[1] = 0;
    *(undefined1 *)(piVar5 + 2) = 0;
    if (local_30 != auStack_28) {
      (*(code *)PTR_operator_delete_0043228c)();
    }
    return __return_storage_ptr__;
  }
  puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240;
  (*(code *)PTR___throw_length_error_00432480)();
                    /* catch() { ... } // from try @ 001f0ae0 with catch @ 001f0bf0 */
  if (local_30 != auStack_28) {
    (*(code *)PTR_operator_delete_0043228c)(local_30);
  }
  puVar16 = PTR__Unwind_Resume_00432258;
  (*(code *)PTR__Unwind_Resume_00432258)(puVar9);
  iVar14 = 0xe34;
  pcVar17 = *(code **)(puVar16 + 0x2417a4);
  iVar11 = *(int *)(puVar16 + 0x241794) + -0x4fe0;
  (*pcVar17)(iVar11,0xe34,*(int *)(puVar16 + 0x24164c) + -0x6b94);
  if (*(int *)(iVar11 + 0x20) << 2 < 0) {
    puVar13 = *(undefined4 **)(iVar11 + 0x18);
    if (-1 < *(int *)(iVar11 + 0x20) << 1) {
LAB_001f0d20:
      (**(code **)(pcVar17 + 0x241770))
                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar17 + 0x241618) + -0x6bb8)
      ;
      goto LAB_001f0d3c;
    }
    if ((int)puVar13 < 0) {
LAB_001f0d04:
      (**(code **)(pcVar17 + 0x241770))
                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar17 + 0x241618) + -0x6bc8)
      ;
      goto LAB_001f0d20;
    }
    uVar4 = *(uint *)(iVar11 + 0x14) + *(int *)(iVar11 + 0x1c);
    iVar8 = (uint)(uVar4 < *(uint *)(iVar11 + 0x14)) + (int)puVar13;
    puVar13 = (undefined4 *)(uint)(*(int *)(iVar14 + 8) < iVar8);
    if ((puVar13 != (undefined4 *)0x0) ||
       ((*(int *)(iVar14 + 8) == iVar8 && (*(uint *)(iVar14 + 0xc) < uVar4)))) goto LAB_001f0d04;
    this_00 = (Output_section *)(*(int *)(iVar14 + 0x10) + *(int *)(iVar11 + 0x1c));
    if (*(char *)(iVar11 + 0x128) == '\0') {
                    /* WARNING: Could not recover jumptable at 0x001f0cec. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      psVar6 = (string *)(**(code **)(pcVar17 + 0x245b34))(this_00,*(undefined4 *)(iVar11 + 0xfc));
      return psVar6;
    }
    iVar11 = *(int *)(iVar11 + 0x94);
    if (iVar11 != 0) {
                    /* WARNING: Could not recover jumptable at 0x001f0cd8. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      psVar6 = (string *)(**(code **)(pcVar17 + 0x245b34))();
      return psVar6;
    }
  }
  else {
LAB_001f0d3c:
    iVar11 = 0xe3;
    this_00 = (Output_section *)(*(int *)(pcVar17 + 0x241760) + -0x4fe0);
    (**(code **)(pcVar17 + 0x241770))(this_00,0xe3,*(int *)(pcVar17 + 0x241618) + -0x6bac);
  }
  iVar8 = *(int *)(pcVar17 + 0x2440c0) + 0xc20;
  Output_section::postprocessing_buffer(this_00);
  iVar14 = *(int *)&(this_00->super_Output_data).field_0x20;
  if (iVar14 << 2 < 0) {
    puVar13 = *(undefined4 **)&(this_00->super_Output_data).offset_;
    iVar15 = (int)(this_00->super_Output_data).offset_;
    if (iVar14 << 1 < 0) {
      pbVar12 = *(byte **)((int)&(this_00->super_Output_data).data_size_ + 4);
      if (-1 < (int)puVar13) {
        iVar14 = (uint)(pbVar12 + iVar15 < pbVar12) + (int)puVar13;
        puVar13 = (undefined4 *)(uint)(*(int *)(iVar11 + 8) < iVar14);
        if ((puVar13 == (undefined4 *)0x0) &&
           ((*(int *)(iVar11 + 8) != iVar14 || (pbVar12 + iVar15 <= *(byte **)(iVar11 + 0xc))))) {
          this_01 = (Output_section *)(*(int *)(iVar11 + 0x10) + iVar15);
          if (*(char *)((int)&this_00[1].super_Output_data.address_ + 4) == '\0') {
                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            psVar6 = (string *)
                     (**(code **)(iVar8 + 0x245a20))(this_01,*(undefined4 *)&this_00->field_0xfc);
            return psVar6;
          }
          puVar10 = this_00->postprocessing_buffer_;
          if (puVar10 != (uchar *)0x0) {
                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            psVar6 = (string *)(**(code **)(iVar8 + 0x245a20))();
            return psVar6;
          }
          goto LAB_001f0e6c;
        }
      }
      (**(code **)(iVar8 + 0x24165c))
                (*(int *)(iVar8 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar8 + 0x241504) + -0x6bc8);
    }
    (**(code **)(iVar8 + 0x24165c))
              (*(int *)(iVar8 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar8 + 0x241504) + -0x6bb8);
  }
  puVar10 = (uchar *)0xe3;
  pbVar12 = (byte *)(*(int *)(iVar8 + 0x241504) + -0x6bac);
  this_01 = (Output_section *)(*(int *)(iVar8 + 0x24164c) + -0x4fe0);
  (**(code **)(iVar8 + 0x24165c))();
LAB_001f0e6c:
  iVar14 = *(int *)(iVar8 + 0x243fac) + 0xc20;
  Output_section::postprocessing_buffer(this_01);
  iVar11 = *(int *)(iVar14 + 0x2413f0);
  uStack_d8 = *(undefined4 *)(iVar14 + 0x243fec);
  bVar1 = *pbVar12;
  puStack_d0 = puVar9;
  puStack_cc = auStack_28;
  ppuStack_c8 = &local_30;
  iStack_c4 = iVar3;
  if ((char)bVar1 < '\0') {
    uVar18 = (**(code **)(iVar14 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);
    bVar2 = pbVar12[aiStack_e0[0]];
    pbVar12 = pbVar12 + aiStack_e0[0] + 1;
  }
  else {
    bVar2 = pbVar12[1];
    uVar18 = (ulonglong)(uint)bVar1;
    aiStack_e0[0] = 1;
    pbVar12 = pbVar12 + 2;
  }
  uVar4 = (uint)bVar2;
  if ((char)bVar2 < '\0') {
    (**(code **)(iVar14 + 0x241cf8))(pbVar12,aiStack_e0,uVar4);
    uVar4 = extraout_v1;
  }
  else {
    aiStack_e0[0] = 1;
  }
  if ((uVar18 == 0) && (uVar4 == 0)) {
    *puVar13 = puVar10;
    return (string *)0x1;
  }
  if ((puVar10 < (uchar *)(iVar8 + 0x249468)) && (uVar4 < 0x21)) {
                    /* WARNING: Could not recover jumptable at 0x001f0f5c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    psVar6 = (string *)(*(code *)(*(int *)(iVar11 + -0x6c80 + uVar4 * 4) + iVar14 + 0x249354))();
    return psVar6;
  }
  return (string *)0x0;
}



int * FUN_001f0a70(int *param_1,int param_2)

{
  byte bVar1;
  byte bVar2;
  undefined4 uVar3;
  uint uVar4;
  int *piVar5;
  int *piVar6;
  int iVar7;
  uint uVar8;
  uint extraout_v1;
  undefined *puVar9;
  int iVar10;
  int iVar11;
  byte *pbVar12;
  uint *puVar13;
  int iVar14;
  undefined *puVar15;
  code *pcVar16;
  ulonglong uVar17;
  int aiStack_e0 [2];
  undefined4 uStack_d8;
  undefined *puStack_d0;
  undefined1 *puStack_cc;
  undefined1 **ppuStack_c8;
  undefined4 uStack_c4;
  undefined1 *local_30;
  int local_2c;
  undefined1 auStack_28 [20];
  
  puVar13 = (uint *)0x0;
  local_30 = auStack_28;
  (*(code *)PTR__M_construct<char_const*>_00432488)
            (&local_30,PTR_DAT_0043226c + -0x6e10,PTR_DAT_0043226c + -0x6e03);
                    /* try { // try from 001f0ae0 to 001f0bef has its CatchHandler @ 001f0bf0 */
  uVar3 = (**(code **)(**(int **)(param_2 + 0x48) + 8))(*(int **)(param_2 + 0x48));
  uVar4 = (*(code *)PTR_strlen_0043677c)(uVar3);
  if (uVar4 <= 0x7fffffffU - local_2c) {
    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4);
    piVar6 = piVar5 + 2;
    *param_1 = (int)(param_1 + 2);
    if ((int *)*piVar5 == piVar6) {
      iVar14 = piVar5[3];
      iVar11 = piVar5[4];
      iVar10 = piVar5[5];
      param_1[2] = *piVar6;
      param_1[3] = iVar14;
      param_1[4] = iVar11;
      param_1[5] = iVar10;
    }
    else {
      *param_1 = *piVar5;
      param_1[2] = piVar5[2];
    }
    param_1[1] = piVar5[1];
    *piVar5 = (int)piVar6;
    piVar5[1] = 0;
    *(undefined1 *)(piVar5 + 2) = 0;
    if (local_30 != auStack_28) {
      (*(code *)PTR_operator_delete_0043228c)();
    }
    return param_1;
  }
  puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240;
  (*(code *)PTR___throw_length_error_00432480)();
                    /* catch() { ... } // from try @ 001f0ae0 with catch @ 001f0bf0 */
  if (local_30 != auStack_28) {
    (*(code *)PTR_operator_delete_0043228c)(local_30);
  }
  puVar15 = PTR_FUN_00432258;
  (*(code *)PTR_FUN_00432258)(puVar9);
  iVar11 = 0xe34;
  pcVar16 = *(code **)(puVar15 + 0x2417a4);
  iVar10 = *(int *)(puVar15 + 0x241794) + -0x4fe0;
  (*pcVar16)(iVar10,0xe34,*(int *)(puVar15 + 0x24164c) + -0x6b94);
  if (*(int *)(iVar10 + 0x20) << 2 < 0) {
    puVar13 = *(uint **)(iVar10 + 0x18);
    if (-1 < *(int *)(iVar10 + 0x20) << 1) {
LAB_001f0d20:
      (**(code **)(pcVar16 + 0x241770))
                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)
      ;
      goto LAB_001f0d3c;
    }
    if ((int)puVar13 < 0) {
LAB_001f0d04:
      (**(code **)(pcVar16 + 0x241770))
                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)
      ;
      goto LAB_001f0d20;
    }
    uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);
    iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13;
    puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14);
    if ((puVar13 != (uint *)0x0) ||
       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))) goto LAB_001f0d04;
    iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c);
    if (*(char *)(iVar10 + 0x128) == '\0') {
                    /* WARNING: Could not recover jumptable at 0x001f0cec. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));
      return piVar5;
    }
    iVar10 = *(int *)(iVar10 + 0x94);
    if (iVar10 != 0) {
                    /* WARNING: Could not recover jumptable at 0x001f0cd8. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();
      return piVar5;
    }
  }
  else {
LAB_001f0d3c:
    iVar10 = 0xe3;
    iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;
    (**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);
  }
  iVar14 = *(int *)(pcVar16 + 0x2440c0) + 0xc20;
  FUN_001f0c20();
  if (*(int *)(iVar11 + 0x20) << 2 < 0) {
    puVar13 = *(uint **)(iVar11 + 0x18);
    if (*(int *)(iVar11 + 0x20) << 1 < 0) {
      pbVar12 = *(byte **)(iVar11 + 0x14);
      if (-1 < (int)puVar13) {
        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;
        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);
        if ((puVar13 == (uint *)0x0) &&
           ((*(int *)(iVar10 + 8) != iVar7 ||
            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {
          if (*(char *)(iVar11 + 0x10c) == '\0') {
                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))
                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),
                                       *(undefined4 *)(iVar11 + 0xfc));
            return piVar5;
          }
          uVar4 = *(uint *)(iVar11 + 0x94);
          if (uVar4 != 0) {
                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();
            return piVar5;
          }
          goto LAB_001f0e6c;
        }
      }
      (**(code **)(iVar14 + 0x24165c))
                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);
    }
    (**(code **)(iVar14 + 0x24165c))
              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8);
  }
  uVar4 = 0xe3;
  pbVar12 = (byte *)(*(int *)(iVar14 + 0x241504) + -0x6bac);
  (**(code **)(iVar14 + 0x24165c))(*(int *)(iVar14 + 0x24164c) + -0x4fe0);
LAB_001f0e6c:
  iVar11 = *(int *)(iVar14 + 0x243fac) + 0xc20;
  FUN_001f0c20();
  iVar10 = *(int *)(iVar11 + 0x2413f0);
  uStack_d8 = *(undefined4 *)(iVar11 + 0x243fec);
  bVar1 = *pbVar12;
  puStack_d0 = puVar9;
  puStack_cc = auStack_28;
  ppuStack_c8 = &local_30;
  uStack_c4 = uVar3;
  if ((char)bVar1 < '\0') {
    uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);
    bVar2 = pbVar12[aiStack_e0[0]];
    pbVar12 = pbVar12 + aiStack_e0[0] + 1;
  }
  else {
    bVar2 = pbVar12[1];
    uVar17 = (ulonglong)(uint)bVar1;
    aiStack_e0[0] = 1;
    pbVar12 = pbVar12 + 2;
  }
  uVar8 = (uint)bVar2;
  if ((char)bVar2 < '\0') {
    (**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8);
    uVar8 = extraout_v1;
  }
  else {
    aiStack_e0[0] = 1;
  }
  if ((uVar17 == 0) && (uVar8 == 0)) {
    *puVar13 = uVar4;
    return (int *)0x1;
  }
  if ((uVar4 < iVar14 + 0x249468U) && (uVar8 < 0x21)) {
                    /* WARNING: Could not recover jumptable at 0x001f0f5c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))();
    return piVar5;
  }
  return (int *)0x0;
}


lui gp,0x25
addiu gp,gp,-0x68a0
addu gp,gp,t9
addiu sp,sp,-0x48
lw a2,-0x7f64(gp)
or a3,zero,zero
lw t9,-0x7d48(gp)
sw s3,0x40(sp)
or s3,a1,zero
sw s2,0x3c(sp)
addiu s2,sp,0x18
sw s1,0x38(sp)
addiu s1,sp,0x20
sw s0,0x34(sp)
sll a3,a3,0x18
sw gp,0x10(sp)
addiu a2,a2,-0x6e03
sw ra,0x44(sp)
or s0,a0,zero
sw s1,0x18(sp)
or a0,s2,zero
lw a1,-0x7f64(gp)
jalr t9
_addiu a1,a1,-0x6e10
lw v0,0x48(s3)
or a0,v0,zero
lw v0,0x0(v0)
lw t9,0x8(v0)
jalr t9
_nop
lw gp,0x10(sp)
or a0,v0,zero
lw t9,-0x3a54(gp)
jalr t9
_or s3,v0,zero
lui v1,0x7fff
lw a0,0x1c(sp)
ori v1,v1,0xffff
subu v1,v1,a0
sltu v1,v1,v0
bne v1,zero,0x001f0be0
_lw gp,0x10(sp)
lw t9,-0x7580(gp)
or a2,v0,zero
or a1,s3,zero
jalr t9
_or a0,s2,zero
addiu a0,s0,0x8
lw gp,0x10(sp)
addiu v1,v0,0x8
sw a0,0x0(s0)
lw a1,0x0(v0)
beq a1,v1,0x001f0b9c
_nop
sw a1,0x0(s0)
lw a0,0x8(v0)
sw a0,0x8(s0)
lw a0,0x4(v0)
sw a0,0x4(s0)
sw v1,0x0(v0)
sw zero,0x4(v0)
sb zero,0x8(v0)
lw a0,0x18(sp)
beq a0,s1,0x001f0b7c
_lw t9,-0x7f44(gp)
jalr t9
_nop
lw ra,0x44(sp)
or v0,s0,zero
lw s3,0x40(sp)
lw s2,0x3c(sp)
lw s1,0x38(sp)
lw s0,0x34(sp)
jr ra
_addiu sp,sp,0x48
lwl t0,0x0(v1)
lwl a3,0x4(v1)
lwl a2,0x8(v1)
lwl a1,0xc(v1)
lwr t0,0x3(v1)
lwr a3,0x7(v1)
lwr a2,0xb(v1)
lwr a1,0xf(v1)
swl t0,0x0(a0)
swr t0,0x3(a0)
swl a3,0x4(a0)
swr a3,0x7(a0)
swl a2,0x8(a0)
swr a2,0xb(a0)
swl a1,0xc(a0)
b 0x001f0b54
_swr a1,0xf(a0)
lw a0,-0x7e1c(gp)
lw t9,-0x7d50(gp)
jalr t9
_addiu a0,a0,-0x6240
lw v0,0x18(sp)
or s0,a0,zero
beq v0,s1,0x001f0c10
_lw gp,0x10(sp)
lw t9,-0x7f44(gp)
jalr t9
_or a0,v0,zero
lw gp,0x10(sp)
lw t9,-0x7f78(gp)
jalr t9
_or a0,s0,zero
nop
(translation_unit "int * FUN_001f0a70(int *param_1,int param_2)\n\n{\n  byte bVar1;\n  byte bVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  int *piVar5;\n  int *piVar6;\n  int iVar7;\n  uint uVar8;\n  uint extraout_v1;\n  undefined *puVar9;\n  int iVar10;\n  int iVar11;\n  byte *pbVar12;\n  uint *puVar13;\n  int iVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  ulonglong uVar17;\n  int aiStack_e0 [2];\n  undefined4 uStack_d8;\n  undefined *puStack_d0;\n  undefined1 *puStack_cc;\n  undefined1 **ppuStack_c8;\n  undefined4 uStack_c4;\n  undefined1 *local_30;\n  int local_2c;\n  undefined1 auStack_28 [20];\n  \n  puVar13 = (uint *)0x0;\n  local_30 = auStack_28;\n  (*(code *)PTR__M_construct<char_const*>_00432488)\n            (&local_30,PTR_DAT_0043226c + -0x6e10,PTR_DAT_0043226c + -0x6e03);\n                    /* try { // try from 001f0ae0 to 001f0bef has its CatchHandler @ 001f0bf0 */\n  uVar3 = (**(code **)(**(int **)(param_2 + 0x48) + 8))(*(int **)(param_2 + 0x48));\n  uVar4 = (*(code *)PTR_strlen_0043677c)(uVar3);\n  if (uVar4 <= 0x7fffffffU - local_2c) {\n    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4);\n    piVar6 = piVar5 + 2;\n    *param_1 = (int)(param_1 + 2);\n    if ((int *)*piVar5 == piVar6) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }\n    else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }\n    param_1[1] = piVar5[1];\n    *piVar5 = (int)piVar6;\n    piVar5[1] = 0;\n    *(undefined1 *)(piVar5 + 2) = 0;\n    if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    return param_1;\n  }\n  puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240;\n  (*(code *)PTR___throw_length_error_00432480)();\n                    /* catch() { ... } // from try @ 001f0ae0 with catch @ 001f0bf0 */\n  if (local_30 != auStack_28) {\n    (*(code *)PTR_operator_delete_0043228c)(local_30);\n  }\n  puVar15 = PTR_FUN_00432258;\n  (*(code *)PTR_FUN_00432258)(puVar9);\n  iVar11 = 0xe34;\n  pcVar16 = *(code **)(puVar15 + 0x2417a4);\n  iVar10 = *(int *)(puVar15 + 0x241794) + -0x4fe0;\n  (*pcVar16)(iVar10,0xe34,*(int *)(puVar15 + 0x24164c) + -0x6b94);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar10 + 0x18);\n    if (-1 < *(int *)(iVar10 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }\n    if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }\n    uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n    iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13;\n    puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n    if ((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))) goto LAB_001f0d04;\n    iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c);\n    if (*(char *)(iVar10 + 0x128) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0cec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }\n    iVar10 = *(int *)(iVar10 + 0x94);\n    if (iVar10 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0cd8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }\n  }\n  else {\nLAB_001f0d3c:\n    iVar10 = 0xe3;\n    iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;\n    (**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);\n  }\n  iVar14 = *(int *)(pcVar16 + 0x2440c0) + 0xc20;\n  FUN_001f0c20();\n  if (*(int *)(iVar11 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar11 + 0x18);\n    if (*(int *)(iVar11 + 0x20) << 1 < 0) {\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }\n    (**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8);\n  }\n  uVar4 = 0xe3;\n  pbVar12 = (byte *)(*(int *)(iVar14 + 0x241504) + -0x6bac);\n  (**(code **)(iVar14 + 0x24165c))(*(int *)(iVar14 + 0x24164c) + -0x4fe0);\nLAB_001f0e6c:\n  iVar11 = *(int *)(iVar14 + 0x243fac) + 0xc20;\n  FUN_001f0c20();\n  iVar10 = *(int *)(iVar11 + 0x2413f0);\n  uStack_d8 = *(undefined4 *)(iVar11 + 0x243fec);\n  bVar1 = *pbVar12;\n  puStack_d0 = puVar9;\n  puStack_cc = auStack_28;\n  ppuStack_c8 = &local_30;\n  uStack_c4 = uVar3;\n  if ((char)bVar1 < '\0') {\n    uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);\n    bVar2 = pbVar12[aiStack_e0[0]];\n    pbVar12 = pbVar12 + aiStack_e0[0] + 1;\n  }\n  else {\n    bVar2 = pbVar12[1];\n    uVar17 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }\n  uVar8 = (uint)bVar2;\n  if ((char)bVar2 < '\0') {\n    (**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8);\n    uVar8 = extraout_v1;\n  }\n  else {\n    aiStack_e0[0] = 1;\n  }\n  if ((uVar17 == 0) && (uVar8 == 0)) {\n    *puVar13 = uVar4;\n    return (int *)0x1;\n  }\n  if ((uVar4 < iVar14 + 0x249468U) && (uVar8 < 0x21)) {\n                    /* WARNING: Could not recover jumptable at 0x001f0f5c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))();\n    return piVar5;\n  }\n  return (int *)0x0;\n}\n\n" (function_definition "int * FUN_001f0a70(int *param_1,int param_2)\n\n{\n  byte bVar1;\n  byte bVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  int *piVar5;\n  int *piVar6;\n  int iVar7;\n  uint uVar8;\n  uint extraout_v1;\n  undefined *puVar9;\n  int iVar10;\n  int iVar11;\n  byte *pbVar12;\n  uint *puVar13;\n  int iVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  ulonglong uVar17;\n  int aiStack_e0 [2];\n  undefined4 uStack_d8;\n  undefined *puStack_d0;\n  undefined1 *puStack_cc;\n  undefined1 **ppuStack_c8;\n  undefined4 uStack_c4;\n  undefined1 *local_30;\n  int local_2c;\n  undefined1 auStack_28 [20];\n  \n  puVar13 = (uint *)0x0;\n  local_30 = auStack_28;\n  (*(code *)PTR__M_construct<char_const*>_00432488)\n            (&local_30,PTR_DAT_0043226c + -0x6e10,PTR_DAT_0043226c + -0x6e03);\n                    /* try { // try from 001f0ae0 to 001f0bef has its CatchHandler @ 001f0bf0 */\n  uVar3 = (**(code **)(**(int **)(param_2 + 0x48) + 8))(*(int **)(param_2 + 0x48));\n  uVar4 = (*(code *)PTR_strlen_0043677c)(uVar3);\n  if (uVar4 <= 0x7fffffffU - local_2c) {\n    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4);\n    piVar6 = piVar5 + 2;\n    *param_1 = (int)(param_1 + 2);\n    if ((int *)*piVar5 == piVar6) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }\n    else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }\n    param_1[1] = piVar5[1];\n    *piVar5 = (int)piVar6;\n    piVar5[1] = 0;\n    *(undefined1 *)(piVar5 + 2) = 0;\n    if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    return param_1;\n  }\n  puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240;\n  (*(code *)PTR___throw_length_error_00432480)();\n                    /* catch() { ... } // from try @ 001f0ae0 with catch @ 001f0bf0 */\n  if (local_30 != auStack_28) {\n    (*(code *)PTR_operator_delete_0043228c)(local_30);\n  }\n  puVar15 = PTR_FUN_00432258;\n  (*(code *)PTR_FUN_00432258)(puVar9);\n  iVar11 = 0xe34;\n  pcVar16 = *(code **)(puVar15 + 0x2417a4);\n  iVar10 = *(int *)(puVar15 + 0x241794) + -0x4fe0;\n  (*pcVar16)(iVar10,0xe34,*(int *)(puVar15 + 0x24164c) + -0x6b94);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar10 + 0x18);\n    if (-1 < *(int *)(iVar10 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }\n    if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }\n    uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n    iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13;\n    puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n    if ((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))) goto LAB_001f0d04;\n    iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c);\n    if (*(char *)(iVar10 + 0x128) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0cec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }\n    iVar10 = *(int *)(iVar10 + 0x94);\n    if (iVar10 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0cd8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }\n  }\n  else {\nLAB_001f0d3c:\n    iVar10 = 0xe3;\n    iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;\n    (**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);\n  }\n  iVar14 = *(int *)(pcVar16 + 0x2440c0) + 0xc20;\n  FUN_001f0c20();\n  if (*(int *)(iVar11 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar11 + 0x18);\n    if (*(int *)(iVar11 + 0x20) << 1 < 0) {\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }\n    (**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8);\n  }\n  uVar4 = 0xe3;\n  pbVar12 = (byte *)(*(int *)(iVar14 + 0x241504) + -0x6bac);\n  (**(code **)(iVar14 + 0x24165c))(*(int *)(iVar14 + 0x24164c) + -0x4fe0);\nLAB_001f0e6c:\n  iVar11 = *(int *)(iVar14 + 0x243fac) + 0xc20;\n  FUN_001f0c20();\n  iVar10 = *(int *)(iVar11 + 0x2413f0);\n  uStack_d8 = *(undefined4 *)(iVar11 + 0x243fec);\n  bVar1 = *pbVar12;\n  puStack_d0 = puVar9;\n  puStack_cc = auStack_28;\n  ppuStack_c8 = &local_30;\n  uStack_c4 = uVar3;\n  if ((char)bVar1 < '\0') {\n    uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);\n    bVar2 = pbVar12[aiStack_e0[0]];\n    pbVar12 = pbVar12 + aiStack_e0[0] + 1;\n  }\n  else {\n    bVar2 = pbVar12[1];\n    uVar17 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }\n  uVar8 = (uint)bVar2;\n  if ((char)bVar2 < '\0') {\n    (**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8);\n    uVar8 = extraout_v1;\n  }\n  else {\n    aiStack_e0[0] = 1;\n  }\n  if ((uVar17 == 0) && (uVar8 == 0)) {\n    *puVar13 = uVar4;\n    return (int *)0x1;\n  }\n  if ((uVar4 < iVar14 + 0x249468U) && (uVar8 < 0x21)) {\n                    /* WARNING: Could not recover jumptable at 0x001f0f5c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))();\n    return piVar5;\n  }\n  return (int *)0x0;\n}" primitive_type (pointer_declarator "* FUN_001f0a70(int *param_1,int param_2)" * (function_declarator "FUN_001f0a70(int *param_1,int param_2)" identifier (parameter_list "(int *param_1,int param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) )))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  int *piVar5;\n  int *piVar6;\n  int iVar7;\n  uint uVar8;\n  uint extraout_v1;\n  undefined *puVar9;\n  int iVar10;\n  int iVar11;\n  byte *pbVar12;\n  uint *puVar13;\n  int iVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  ulonglong uVar17;\n  int aiStack_e0 [2];\n  undefined4 uStack_d8;\n  undefined *puStack_d0;\n  undefined1 *puStack_cc;\n  undefined1 **ppuStack_c8;\n  undefined4 uStack_c4;\n  undefined1 *local_30;\n  int local_2c;\n  undefined1 auStack_28 [20];\n  \n  puVar13 = (uint *)0x0;\n  local_30 = auStack_28;\n  (*(code *)PTR__M_construct<char_const*>_00432488)\n            (&local_30,PTR_DAT_0043226c + -0x6e10,PTR_DAT_0043226c + -0x6e03);\n                    /* try { // try from 001f0ae0 to 001f0bef has its CatchHandler @ 001f0bf0 */\n  uVar3 = (**(code **)(**(int **)(param_2 + 0x48) + 8))(*(int **)(param_2 + 0x48));\n  uVar4 = (*(code *)PTR_strlen_0043677c)(uVar3);\n  if (uVar4 <= 0x7fffffffU - local_2c) {\n    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4);\n    piVar6 = piVar5 + 2;\n    *param_1 = (int)(param_1 + 2);\n    if ((int *)*piVar5 == piVar6) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }\n    else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }\n    param_1[1] = piVar5[1];\n    *piVar5 = (int)piVar6;\n    piVar5[1] = 0;\n    *(undefined1 *)(piVar5 + 2) = 0;\n    if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    return param_1;\n  }\n  puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240;\n  (*(code *)PTR___throw_length_error_00432480)();\n                    /* catch() { ... } // from try @ 001f0ae0 with catch @ 001f0bf0 */\n  if (local_30 != auStack_28) {\n    (*(code *)PTR_operator_delete_0043228c)(local_30);\n  }\n  puVar15 = PTR_FUN_00432258;\n  (*(code *)PTR_FUN_00432258)(puVar9);\n  iVar11 = 0xe34;\n  pcVar16 = *(code **)(puVar15 + 0x2417a4);\n  iVar10 = *(int *)(puVar15 + 0x241794) + -0x4fe0;\n  (*pcVar16)(iVar10,0xe34,*(int *)(puVar15 + 0x24164c) + -0x6b94);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar10 + 0x18);\n    if (-1 < *(int *)(iVar10 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }\n    if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }\n    uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n    iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13;\n    puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n    if ((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))) goto LAB_001f0d04;\n    iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c);\n    if (*(char *)(iVar10 + 0x128) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0cec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }\n    iVar10 = *(int *)(iVar10 + 0x94);\n    if (iVar10 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0cd8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }\n  }\n  else {\nLAB_001f0d3c:\n    iVar10 = 0xe3;\n    iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;\n    (**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);\n  }\n  iVar14 = *(int *)(pcVar16 + 0x2440c0) + 0xc20;\n  FUN_001f0c20();\n  if (*(int *)(iVar11 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar11 + 0x18);\n    if (*(int *)(iVar11 + 0x20) << 1 < 0) {\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }\n    (**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8);\n  }\n  uVar4 = 0xe3;\n  pbVar12 = (byte *)(*(int *)(iVar14 + 0x241504) + -0x6bac);\n  (**(code **)(iVar14 + 0x24165c))(*(int *)(iVar14 + 0x24164c) + -0x4fe0);\nLAB_001f0e6c:\n  iVar11 = *(int *)(iVar14 + 0x243fac) + 0xc20;\n  FUN_001f0c20();\n  iVar10 = *(int *)(iVar11 + 0x2413f0);\n  uStack_d8 = *(undefined4 *)(iVar11 + 0x243fec);\n  bVar1 = *pbVar12;\n  puStack_d0 = puVar9;\n  puStack_cc = auStack_28;\n  ppuStack_c8 = &local_30;\n  uStack_c4 = uVar3;\n  if ((char)bVar1 < '\0') {\n    uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);\n    bVar2 = pbVar12[aiStack_e0[0]];\n    pbVar12 = pbVar12 + aiStack_e0[0] + 1;\n  }\n  else {\n    bVar2 = pbVar12[1];\n    uVar17 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }\n  uVar8 = (uint)bVar2;\n  if ((char)bVar2 < '\0') {\n    (**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8);\n    uVar8 = extraout_v1;\n  }\n  else {\n    aiStack_e0[0] = 1;\n  }\n  if ((uVar17 == 0) && (uVar8 == 0)) {\n    *puVar13 = uVar4;\n    return (int *)0x1;\n  }\n  if ((uVar4 < iVar14 + 0x249468U) && (uVar8 < 0x21)) {\n                    /* WARNING: Could not recover jumptable at 0x001f0f5c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))();\n    return piVar5;\n  }\n  return (int *)0x0;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint extraout_v1;" type_identifier identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "code *pcVar16;" type_identifier (pointer_declarator "*pcVar16" * identifier) ;) (declaration "ulonglong uVar17;" type_identifier identifier ;) (declaration "int aiStack_e0 [2];" primitive_type (array_declarator "aiStack_e0 [2]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_d8;" type_identifier identifier ;) (declaration "undefined *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "undefined1 *puStack_cc;" type_identifier (pointer_declarator "*puStack_cc" * identifier) ;) (declaration "undefined1 **ppuStack_c8;" type_identifier (pointer_declarator "**ppuStack_c8" * (pointer_declarator "*ppuStack_c8" * identifier)) ;) (declaration "undefined4 uStack_c4;" type_identifier identifier ;) (declaration "undefined1 *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "undefined1 auStack_28 [20];" type_identifier (array_declarator "auStack_28 [20]" identifier [ number_literal ]) ;) (expression_statement "puVar13 = (uint *)0x0;" (assignment_expression "puVar13 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_30 = auStack_28;" (assignment_expression "local_30 = auStack_28" identifier = identifier) ;) (expression_statement "(*(code *)PTR__M_construct<char_const*>_00432488)\n            (&local_30,PTR_DAT_0043226c + -0x6e10,PTR_DAT_0043226c + -0x6e03);" (call_expression "(*(code *)PTR__M_construct<char_const*>_00432488)\n            (&local_30,PTR_DAT_0043226c + -0x6e10,PTR_DAT_0043226c + -0x6e03)" (parenthesized_expression "(*(code *)PTR__M_construct<char_const*>_00432488)" ( (binary_expression "*(code *)PTR__M_construct<char_const*>_00432488" (binary_expression "*(code *)PTR__M_construct<char_const" (pointer_expression "*(code *)PTR__M_construct" * (cast_expression "(code *)PTR__M_construct" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) (ERROR "*" *) > identifier) )) (argument_list "(&local_30,PTR_DAT_0043226c + -0x6e10,PTR_DAT_0043226c + -0x6e03)" ( (pointer_expression "&local_30" & identifier) , (binary_expression "PTR_DAT_0043226c + -0x6e10" identifier + number_literal) , (binary_expression "PTR_DAT_0043226c + -0x6e03" identifier + number_literal) ))) ;) comment (expression_statement "uVar3 = (**(code **)(**(int **)(param_2 + 0x48) + 8))(*(int **)(param_2 + 0x48));" (assignment_expression "uVar3 = (**(code **)(**(int **)(param_2 + 0x48) + 8))(*(int **)(param_2 + 0x48))" identifier = (call_expression "(**(code **)(**(int **)(param_2 + 0x48) + 8))(*(int **)(param_2 + 0x48))" (parenthesized_expression "(**(code **)(**(int **)(param_2 + 0x48) + 8))" ( (pointer_expression "**(code **)(**(int **)(param_2 + 0x48) + 8)" * (pointer_expression "*(code **)(**(int **)(param_2 + 0x48) + 8)" * (cast_expression "(code **)(**(int **)(param_2 + 0x48) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_2 + 0x48) + 8)" ( (binary_expression "**(int **)(param_2 + 0x48) + 8" (pointer_expression "**(int **)(param_2 + 0x48)" * (pointer_expression "*(int **)(param_2 + 0x48)" * (cast_expression "(int **)(param_2 + 0x48)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x48)" ( (binary_expression "param_2 + 0x48" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(param_2 + 0x48))" ( (pointer_expression "*(int **)(param_2 + 0x48)" * (cast_expression "(int **)(param_2 + 0x48)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x48)" ( (binary_expression "param_2 + 0x48" identifier + number_literal) )))) )))) ;) (expression_statement "uVar4 = (*(code *)PTR_strlen_0043677c)(uVar3);" (assignment_expression "uVar4 = (*(code *)PTR_strlen_0043677c)(uVar3)" identifier = (call_expression "(*(code *)PTR_strlen_0043677c)(uVar3)" (parenthesized_expression "(*(code *)PTR_strlen_0043677c)" ( (pointer_expression "*(code *)PTR_strlen_0043677c" * (cast_expression "(code *)PTR_strlen_0043677c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar3)" ( identifier )))) ;) (if_statement "if (uVar4 <= 0x7fffffffU - local_2c) {\n    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4);\n    piVar6 = piVar5 + 2;\n    *param_1 = (int)(param_1 + 2);\n    if ((int *)*piVar5 == piVar6) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }\n    else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }\n    param_1[1] = piVar5[1];\n    *piVar5 = (int)piVar6;\n    piVar5[1] = 0;\n    *(undefined1 *)(piVar5 + 2) = 0;\n    if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    return param_1;\n  }" if (parenthesized_expression "(uVar4 <= 0x7fffffffU - local_2c)" ( (binary_expression "uVar4 <= 0x7fffffffU - local_2c" identifier <= (binary_expression "0x7fffffffU - local_2c" number_literal - identifier)) )) (compound_statement "{\n    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4);\n    piVar6 = piVar5 + 2;\n    *param_1 = (int)(param_1 + 2);\n    if ((int *)*piVar5 == piVar6) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }\n    else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }\n    param_1[1] = piVar5[1];\n    *piVar5 = (int)piVar6;\n    piVar5[1] = 0;\n    *(undefined1 *)(piVar5 + 2) = 0;\n    if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    return param_1;\n  }" { (expression_statement "piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4);" (assignment_expression "piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4)" identifier = (cast_expression "(int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4)" (parenthesized_expression "(*(code *)PTR__M_append_00432c50)" ( (pointer_expression "*(code *)PTR__M_append_00432c50" * (cast_expression "(code *)PTR__M_append_00432c50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_30,uVar3,uVar4)" ( (pointer_expression "&local_30" & identifier) , identifier , identifier ))))) ;) (expression_statement "piVar6 = piVar5 + 2;" (assignment_expression "piVar6 = piVar5 + 2" identifier = (binary_expression "piVar5 + 2" identifier + number_literal)) ;) (expression_statement "*param_1 = (int)(param_1 + 2);" (assignment_expression "*param_1 = (int)(param_1 + 2)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(param_1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) ;) (if_statement "if ((int *)*piVar5 == piVar6) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }\n    else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }" if (parenthesized_expression "((int *)*piVar5 == piVar6)" ( (binary_expression "(int *)*piVar5 == piVar6" (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier)) == identifier) )) (compound_statement "{\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }" { (expression_statement "iVar14 = piVar5[3];" (assignment_expression "iVar14 = piVar5[3]" identifier = (subscript_expression "piVar5[3]" identifier [ number_literal ])) ;) (expression_statement "iVar11 = piVar5[4];" (assignment_expression "iVar11 = piVar5[4]" identifier = (subscript_expression "piVar5[4]" identifier [ number_literal ])) ;) (expression_statement "iVar10 = piVar5[5];" (assignment_expression "iVar10 = piVar5[5]" identifier = (subscript_expression "piVar5[5]" identifier [ number_literal ])) ;) (expression_statement "param_1[2] = *piVar6;" (assignment_expression "param_1[2] = *piVar6" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "param_1[3] = iVar14;" (assignment_expression "param_1[3] = iVar14" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[4] = iVar11;" (assignment_expression "param_1[4] = iVar11" (subscript_expression "param_1[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[5] = iVar10;" (assignment_expression "param_1[5] = iVar10" (subscript_expression "param_1[5]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }" else (compound_statement "{\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }" { (expression_statement "*param_1 = *piVar5;" (assignment_expression "*param_1 = *piVar5" (pointer_expression "*param_1" * identifier) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "param_1[2] = piVar5[2];" (assignment_expression "param_1[2] = piVar5[2]" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (subscript_expression "piVar5[2]" identifier [ number_literal ])) ;) }))) (expression_statement "param_1[1] = piVar5[1];" (assignment_expression "param_1[1] = piVar5[1]" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (subscript_expression "piVar5[1]" identifier [ number_literal ])) ;) (expression_statement "*piVar5 = (int)piVar6;" (assignment_expression "*piVar5 = (int)piVar6" (pointer_expression "*piVar5" * identifier) = (cast_expression "(int)piVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar5[1] = 0;" (assignment_expression "piVar5[1] = 0" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar5 + 2) = 0;" (assignment_expression "*(undefined1 *)(piVar5 + 2) = 0" (pointer_expression "*(undefined1 *)(piVar5 + 2)" * (cast_expression "(undefined1 *)(piVar5 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 2)" ( (binary_expression "piVar5 + 2" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }" if (parenthesized_expression "(local_30 != auStack_28)" ( (binary_expression "local_30 != auStack_28" identifier != identifier) )) (compound_statement "{\n      (*(code *)PTR_operator_delete_0043228c)();\n    }" { (expression_statement "(*(code *)PTR_operator_delete_0043228c)();" (call_expression "(*(code *)PTR_operator_delete_0043228c)()" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" ( (pointer_expression "*(code *)PTR_operator_delete_0043228c" * (cast_expression "(code *)PTR_operator_delete_0043228c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (return_statement "return param_1;" return identifier ;) })) (expression_statement "puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240;" (assignment_expression "puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240" identifier = (binary_expression "PTR_s_alize_xindex_004323b4 + -0x6240" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___throw_length_error_00432480)();" (call_expression "(*(code *)PTR___throw_length_error_00432480)()" (parenthesized_expression "(*(code *)PTR___throw_length_error_00432480)" ( (pointer_expression "*(code *)PTR___throw_length_error_00432480" * (cast_expression "(code *)PTR___throw_length_error_00432480" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) comment (if_statement "if (local_30 != auStack_28) {\n    (*(code *)PTR_operator_delete_0043228c)(local_30);\n  }" if (parenthesized_expression "(local_30 != auStack_28)" ( (binary_expression "local_30 != auStack_28" identifier != identifier) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_0043228c)(local_30);\n  }" { (expression_statement "(*(code *)PTR_operator_delete_0043228c)(local_30);" (call_expression "(*(code *)PTR_operator_delete_0043228c)(local_30)" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" ( (pointer_expression "*(code *)PTR_operator_delete_0043228c" * (cast_expression "(code *)PTR_operator_delete_0043228c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier ))) ;) })) (expression_statement "puVar15 = PTR_FUN_00432258;" (assignment_expression "puVar15 = PTR_FUN_00432258" identifier = identifier) ;) (expression_statement "(*(code *)PTR_FUN_00432258)(puVar9);" (call_expression "(*(code *)PTR_FUN_00432258)(puVar9)" (parenthesized_expression "(*(code *)PTR_FUN_00432258)" ( (pointer_expression "*(code *)PTR_FUN_00432258" * (cast_expression "(code *)PTR_FUN_00432258" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar9)" ( identifier ))) ;) (expression_statement "iVar11 = 0xe34;" (assignment_expression "iVar11 = 0xe34" identifier = number_literal) ;) (expression_statement "pcVar16 = *(code **)(puVar15 + 0x2417a4);" (assignment_expression "pcVar16 = *(code **)(puVar15 + 0x2417a4)" identifier = (pointer_expression "*(code **)(puVar15 + 0x2417a4)" * (cast_expression "(code **)(puVar15 + 0x2417a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x2417a4)" ( (binary_expression "puVar15 + 0x2417a4" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(puVar15 + 0x241794) + -0x4fe0;" (assignment_expression "iVar10 = *(int *)(puVar15 + 0x241794) + -0x4fe0" identifier = (binary_expression "*(int *)(puVar15 + 0x241794) + -0x4fe0" (pointer_expression "*(int *)(puVar15 + 0x241794)" * (cast_expression "(int *)(puVar15 + 0x241794)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x241794)" ( (binary_expression "puVar15 + 0x241794" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar16)(iVar10,0xe34,*(int *)(puVar15 + 0x24164c) + -0x6b94);" (call_expression "(*pcVar16)(iVar10,0xe34,*(int *)(puVar15 + 0x24164c) + -0x6b94)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(iVar10,0xe34,*(int *)(puVar15 + 0x24164c) + -0x6b94)" ( identifier , number_literal , (binary_expression "*(int *)(puVar15 + 0x24164c) + -0x6b94" (pointer_expression "*(int *)(puVar15 + 0x24164c)" * (cast_expression "(int *)(puVar15 + 0x24164c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24164c)" ( (binary_expression "puVar15 + 0x24164c" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar10 + 0x18);\n    if (-1 < *(int *)(iVar10 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }\n    if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }\n    uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n    iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13;\n    puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n    if ((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))) goto LAB_001f0d04;\n    iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c);\n    if (*(char *)(iVar10 + 0x128) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0cec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }\n    iVar10 = *(int *)(iVar10 + 0x94);\n    if (iVar10 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0cd8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }\n  }\n  else {\nLAB_001f0d3c:\n    iVar10 = 0xe3;\n    iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;\n    (**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);\n  }" if (parenthesized_expression "(*(int *)(iVar10 + 0x20) << 2 < 0)" ( (binary_expression "*(int *)(iVar10 + 0x20) << 2 < 0" (binary_expression "*(int *)(iVar10 + 0x20) << 2" (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) )))) << number_literal) < number_literal) )) (compound_statement "{\n    puVar13 = *(uint **)(iVar10 + 0x18);\n    if (-1 < *(int *)(iVar10 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }\n    if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }\n    uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n    iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13;\n    puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n    if ((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))) goto LAB_001f0d04;\n    iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c);\n    if (*(char *)(iVar10 + 0x128) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0cec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }\n    iVar10 = *(int *)(iVar10 + 0x94);\n    if (iVar10 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0cd8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }\n  }" { (expression_statement "puVar13 = *(uint **)(iVar10 + 0x18);" (assignment_expression "puVar13 = *(uint **)(iVar10 + 0x18)" identifier = (pointer_expression "*(uint **)(iVar10 + 0x18)" * (cast_expression "(uint **)(iVar10 + 0x18)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x18)" ( (binary_expression "iVar10 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(iVar10 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }" if (parenthesized_expression "(-1 < *(int *)(iVar10 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(iVar10 + 0x20) << 1" number_literal < (binary_expression "*(int *)(iVar10 + 0x20) << 1" (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) )))) << number_literal)) )) (compound_statement "{\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }" { (labeled_statement "LAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;" statement_identifier : (expression_statement "(**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;" (call_expression "(**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)" (parenthesized_expression "(**(code **)(pcVar16 + 0x241770))" ( (pointer_expression "**(code **)(pcVar16 + 0x241770)" * (pointer_expression "*(code **)(pcVar16 + 0x241770)" * (cast_expression "(code **)(pcVar16 + 0x241770)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x241770)" ( (binary_expression "pcVar16 + 0x241770" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)" ( (binary_expression "*(int *)(pcVar16 + 0x241760) + -0x4fe0" (pointer_expression "*(int *)(pcVar16 + 0x241760)" * (cast_expression "(int *)(pcVar16 + 0x241760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x241760)" ( (binary_expression "pcVar16 + 0x241760" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar16 + 0x241618) + -0x6bb8" (pointer_expression "*(int *)(pcVar16 + 0x241618)" * (cast_expression "(int *)(pcVar16 + 0x241618)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x241618)" ( (binary_expression "pcVar16 + 0x241618" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_001f0d3c;" goto statement_identifier ;) })) (if_statement "if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }" if (parenthesized_expression "((int)puVar13 < 0)" ( (binary_expression "(int)puVar13 < 0" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }" { (labeled_statement "LAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;" statement_identifier : (expression_statement "(**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;" (call_expression "(**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)" (parenthesized_expression "(**(code **)(pcVar16 + 0x241770))" ( (pointer_expression "**(code **)(pcVar16 + 0x241770)" * (pointer_expression "*(code **)(pcVar16 + 0x241770)" * (cast_expression "(code **)(pcVar16 + 0x241770)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x241770)" ( (binary_expression "pcVar16 + 0x241770" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)" ( (binary_expression "*(int *)(pcVar16 + 0x241760) + -0x4fe0" (pointer_expression "*(int *)(pcVar16 + 0x241760)" * (cast_expression "(int *)(pcVar16 + 0x241760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x241760)" ( (binary_expression "pcVar16 + 0x241760" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar16 + 0x241618) + -0x6bc8" (pointer_expression "*(int *)(pcVar16 + 0x241618)" * (cast_expression "(int *)(pcVar16 + 0x241618)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x241618)" ( (binary_expression "pcVar16 + 0x241618" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_001f0d20;" goto statement_identifier ;) })) (expression_statement "uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);" (assignment_expression "uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c)" identifier = (binary_expression "*(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(uint *)(iVar10 + 0x14)" * (cast_expression "(uint *)(iVar10 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar10 + 0x1c)" * (cast_expression "(int *)(iVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13;" (assignment_expression "iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13" identifier = (binary_expression "(uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13" (call_expression "(uint)(uVar4 < *(uint *)(iVar10 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 < *(uint *)(iVar10 + 0x14))" ( (binary_expression "uVar4 < *(uint *)(iVar10 + 0x14)" identifier < (pointer_expression "*(uint *)(iVar10 + 0x14)" * (cast_expression "(uint *)(iVar10 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) ))))) ))) + (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14);" (assignment_expression "puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14)" identifier = (cast_expression "(uint *)(uint)(*(int *)(iVar11 + 8) < iVar14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(int *)(iVar11 + 8) < iVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar11 + 8) < iVar14)" ( (binary_expression "*(int *)(iVar11 + 8) < iVar14" (pointer_expression "*(int *)(iVar11 + 8)" * (cast_expression "(int *)(iVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) )))) < identifier) ))))) ;) (if_statement "if ((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))) goto LAB_001f0d04;" if (parenthesized_expression "((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4))))" ( (binary_expression "(puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))" (parenthesized_expression "(puVar13 != (uint *)0x0)" ( (binary_expression "puVar13 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))" ( (parenthesized_expression "(*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4))" ( (binary_expression "*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)" (binary_expression "*(int *)(iVar11 + 8) == iVar14" (pointer_expression "*(int *)(iVar11 + 8)" * (cast_expression "(int *)(iVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) )))) == identifier) && (parenthesized_expression "(*(uint *)(iVar11 + 0xc) < uVar4)" ( (binary_expression "*(uint *)(iVar11 + 0xc) < uVar4" (pointer_expression "*(uint *)(iVar11 + 0xc)" * (cast_expression "(uint *)(iVar11 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xc)" ( (binary_expression "iVar11 + 0xc" identifier + number_literal) )))) < identifier) ))) )) ))) )) (goto_statement "goto LAB_001f0d04;" goto statement_identifier ;)) (expression_statement "iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c);" (assignment_expression "iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c)" identifier = (binary_expression "*(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(int *)(iVar11 + 0x10)" * (cast_expression "(int *)(iVar11 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar10 + 0x1c)" * (cast_expression "(int *)(iVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) )))))) ;) (if_statement "if (*(char *)(iVar10 + 0x128) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0cec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }" if (parenthesized_expression "(*(char *)(iVar10 + 0x128) == '\0')" ( (binary_expression "*(char *)(iVar10 + 0x128) == '\0'" (pointer_expression "*(char *)(iVar10 + 0x128)" * (cast_expression "(char *)(iVar10 + 0x128)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x128)" ( (binary_expression "iVar10 + 0x128" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001f0cec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }" { comment comment (expression_statement "piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));" (assignment_expression "piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc))" identifier = (cast_expression "(int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc))" (parenthesized_expression "(**(code **)(pcVar16 + 0x245b34))" ( (pointer_expression "**(code **)(pcVar16 + 0x245b34)" * (pointer_expression "*(code **)(pcVar16 + 0x245b34)" * (cast_expression "(code **)(pcVar16 + 0x245b34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x245b34)" ( (binary_expression "pcVar16 + 0x245b34" identifier + number_literal) ))))) )) (argument_list "(iVar11,*(undefined4 *)(iVar10 + 0xfc))" ( identifier , (pointer_expression "*(undefined4 *)(iVar10 + 0xfc)" * (cast_expression "(undefined4 *)(iVar10 + 0xfc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xfc)" ( (binary_expression "iVar10 + 0xfc" identifier + number_literal) )))) ))))) ;) (return_statement "return piVar5;" return identifier ;) })) (expression_statement "iVar10 = *(int *)(iVar10 + 0x94);" (assignment_expression "iVar10 = *(int *)(iVar10 + 0x94)" identifier = (pointer_expression "*(int *)(iVar10 + 0x94)" * (cast_expression "(int *)(iVar10 + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x94)" ( (binary_expression "iVar10 + 0x94" identifier + number_literal) ))))) ;) (if_statement "if (iVar10 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0cd8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001f0cd8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }" { comment comment (expression_statement "piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();" (assignment_expression "piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))()" identifier = (cast_expression "(int *)(**(code **)(pcVar16 + 0x245b34))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar16 + 0x245b34))()" (parenthesized_expression "(**(code **)(pcVar16 + 0x245b34))" ( (pointer_expression "**(code **)(pcVar16 + 0x245b34)" * (pointer_expression "*(code **)(pcVar16 + 0x245b34)" * (cast_expression "(code **)(pcVar16 + 0x245b34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x245b34)" ( (binary_expression "pcVar16 + 0x245b34" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (return_statement "return piVar5;" return identifier ;) })) }) (else_clause "else {\nLAB_001f0d3c:\n    iVar10 = 0xe3;\n    iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;\n    (**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);\n  }" else (compound_statement "{\nLAB_001f0d3c:\n    iVar10 = 0xe3;\n    iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;\n    (**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);\n  }" { (labeled_statement "LAB_001f0d3c:\n    iVar10 = 0xe3;" statement_identifier : (expression_statement "iVar10 = 0xe3;" (assignment_expression "iVar10 = 0xe3" identifier = number_literal) ;)) (expression_statement "iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;" (assignment_expression "iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0" identifier = (binary_expression "*(int *)(pcVar16 + 0x241760) + -0x4fe0" (pointer_expression "*(int *)(pcVar16 + 0x241760)" * (cast_expression "(int *)(pcVar16 + 0x241760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x241760)" ( (binary_expression "pcVar16 + 0x241760" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);" (call_expression "(**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac)" (parenthesized_expression "(**(code **)(pcVar16 + 0x241770))" ( (pointer_expression "**(code **)(pcVar16 + 0x241770)" * (pointer_expression "*(code **)(pcVar16 + 0x241770)" * (cast_expression "(code **)(pcVar16 + 0x241770)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x241770)" ( (binary_expression "pcVar16 + 0x241770" identifier + number_literal) ))))) )) (argument_list "(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar16 + 0x241618) + -0x6bac" (pointer_expression "*(int *)(pcVar16 + 0x241618)" * (cast_expression "(int *)(pcVar16 + 0x241618)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x241618)" ( (binary_expression "pcVar16 + 0x241618" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "iVar14 = *(int *)(pcVar16 + 0x2440c0) + 0xc20;" (assignment_expression "iVar14 = *(int *)(pcVar16 + 0x2440c0) + 0xc20" identifier = (binary_expression "*(int *)(pcVar16 + 0x2440c0) + 0xc20" (pointer_expression "*(int *)(pcVar16 + 0x2440c0)" * (cast_expression "(int *)(pcVar16 + 0x2440c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2440c0)" ( (binary_expression "pcVar16 + 0x2440c0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "FUN_001f0c20();" (call_expression "FUN_001f0c20()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(iVar11 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar11 + 0x18);\n    if (*(int *)(iVar11 + 0x20) << 1 < 0) {\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }\n    (**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8);\n  }" if (parenthesized_expression "(*(int *)(iVar11 + 0x20) << 2 < 0)" ( (binary_expression "*(int *)(iVar11 + 0x20) << 2 < 0" (binary_expression "*(int *)(iVar11 + 0x20) << 2" (pointer_expression "*(int *)(iVar11 + 0x20)" * (cast_expression "(int *)(iVar11 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x20)" ( (binary_expression "iVar11 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    puVar13 = *(uint **)(iVar11 + 0x18);\n    if (*(int *)(iVar11 + 0x20) << 1 < 0) {\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }\n    (**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8);\n  }" { (expression_statement "puVar13 = *(uint **)(iVar11 + 0x18);" (assignment_expression "puVar13 = *(uint **)(iVar11 + 0x18)" identifier = (pointer_expression "*(uint **)(iVar11 + 0x18)" * (cast_expression "(uint **)(iVar11 + 0x18)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x18)" ( (binary_expression "iVar11 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar11 + 0x20) << 1 < 0) {\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }" if (parenthesized_expression "(*(int *)(iVar11 + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(iVar11 + 0x20) << 1 < 0" (binary_expression "*(int *)(iVar11 + 0x20) << 1" (pointer_expression "*(int *)(iVar11 + 0x20)" * (cast_expression "(int *)(iVar11 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x20)" ( (binary_expression "iVar11 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }" { (expression_statement "pbVar12 = *(byte **)(iVar11 + 0x14);" (assignment_expression "pbVar12 = *(byte **)(iVar11 + 0x14)" identifier = (pointer_expression "*(byte **)(iVar11 + 0x14)" * (cast_expression "(byte **)(iVar11 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }" if (parenthesized_expression "(-1 < (int)puVar13)" ( (binary_expression "-1 < (int)puVar13" number_literal < (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }" { (expression_statement "iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;" (assignment_expression "iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13" identifier = (binary_expression "(uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13" (call_expression "(uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12)" ( (binary_expression "pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12" (binary_expression "pbVar12 + *(int *)(iVar11 + 0x1c)" identifier + (pointer_expression "*(int *)(iVar11 + 0x1c)" * (cast_expression "(int *)(iVar11 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1c)" ( (binary_expression "iVar11 + 0x1c" identifier + number_literal) ))))) < identifier) ))) + (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);" (assignment_expression "puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7)" identifier = (cast_expression "(uint *)(uint)(*(int *)(iVar10 + 8) < iVar7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(int *)(iVar10 + 8) < iVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar10 + 8) < iVar7)" ( (binary_expression "*(int *)(iVar10 + 8) < iVar7" (pointer_expression "*(int *)(iVar10 + 8)" * (cast_expression "(int *)(iVar10 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 8)" ( (binary_expression "iVar10 + 8" identifier + number_literal) )))) < identifier) ))))) ;) (if_statement "if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }" if (parenthesized_expression "((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc)))))" ( (binary_expression "(puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))" (parenthesized_expression "(puVar13 == (uint *)0x0)" ( (binary_expression "puVar13 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))" ( (parenthesized_expression "(*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc)))" ( (binary_expression "*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))" (binary_expression "*(int *)(iVar10 + 8) != iVar7" (pointer_expression "*(int *)(iVar10 + 8)" * (cast_expression "(int *)(iVar10 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 8)" ( (binary_expression "iVar10 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))" ( (binary_expression "pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc)" (binary_expression "pbVar12 + *(int *)(iVar11 + 0x1c)" identifier + (pointer_expression "*(int *)(iVar11 + 0x1c)" * (cast_expression "(int *)(iVar11 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1c)" ( (binary_expression "iVar11 + 0x1c" identifier + number_literal) ))))) <= (pointer_expression "*(byte **)(iVar10 + 0xc)" * (cast_expression "(byte **)(iVar10 + 0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0xc)" ( (binary_expression "iVar10 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }" { (if_statement "if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }" if (parenthesized_expression "(*(char *)(iVar11 + 0x10c) == '\0')" ( (binary_expression "*(char *)(iVar11 + 0x10c) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x10c)" * (cast_expression "(char *)(iVar11 + 0x10c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x10c)" ( (binary_expression "iVar11 + 0x10c" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }" { comment comment (expression_statement "piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));" (assignment_expression "piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc))" identifier = (cast_expression "(int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc))" (parenthesized_expression "(**(code **)(iVar14 + 0x245a20))" ( (pointer_expression "**(code **)(iVar14 + 0x245a20)" * (pointer_expression "*(code **)(iVar14 + 0x245a20)" * (cast_expression "(code **)(iVar14 + 0x245a20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x245a20)" ( (binary_expression "iVar14 + 0x245a20" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc))" ( (binary_expression "*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c)" (pointer_expression "*(int *)(iVar10 + 0x10)" * (cast_expression "(int *)(iVar10 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x10)" ( (binary_expression "iVar10 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar11 + 0x1c)" * (cast_expression "(int *)(iVar11 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1c)" ( (binary_expression "iVar11 + 0x1c" identifier + number_literal) ))))) , (pointer_expression "*(undefined4 *)(iVar11 + 0xfc)" * (cast_expression "(undefined4 *)(iVar11 + 0xfc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xfc)" ( (binary_expression "iVar11 + 0xfc" identifier + number_literal) )))) ))))) ;) (return_statement "return piVar5;" return identifier ;) })) (expression_statement "uVar4 = *(uint *)(iVar11 + 0x94);" (assignment_expression "uVar4 = *(uint *)(iVar11 + 0x94)" identifier = (pointer_expression "*(uint *)(iVar11 + 0x94)" * (cast_expression "(uint *)(iVar11 + 0x94)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x94)" ( (binary_expression "iVar11 + 0x94" identifier + number_literal) ))))) ;) (if_statement "if (uVar4 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }" if (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }" { comment comment (expression_statement "piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();" (assignment_expression "piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))()" identifier = (cast_expression "(int *)(**(code **)(iVar14 + 0x245a20))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(iVar14 + 0x245a20))()" (parenthesized_expression "(**(code **)(iVar14 + 0x245a20))" ( (pointer_expression "**(code **)(iVar14 + 0x245a20)" * (pointer_expression "*(code **)(iVar14 + 0x245a20)" * (cast_expression "(code **)(iVar14 + 0x245a20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x245a20)" ( (binary_expression "iVar14 + 0x245a20" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (return_statement "return piVar5;" return identifier ;) })) (goto_statement "goto LAB_001f0e6c;" goto statement_identifier ;) })) })) (expression_statement "(**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);" (call_expression "(**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8)" (parenthesized_expression "(**(code **)(iVar14 + 0x24165c))" ( (pointer_expression "**(code **)(iVar14 + 0x24165c)" * (pointer_expression "*(code **)(iVar14 + 0x24165c)" * (cast_expression "(code **)(iVar14 + 0x24165c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x24165c)" ( (binary_expression "iVar14 + 0x24165c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8)" ( (binary_expression "*(int *)(iVar14 + 0x24164c) + -0x4fe0" (pointer_expression "*(int *)(iVar14 + 0x24164c)" * (cast_expression "(int *)(iVar14 + 0x24164c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x24164c)" ( (binary_expression "iVar14 + 0x24164c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(iVar14 + 0x241504) + -0x6bc8" (pointer_expression "*(int *)(iVar14 + 0x241504)" * (cast_expression "(int *)(iVar14 + 0x241504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x241504)" ( (binary_expression "iVar14 + 0x241504" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8);" (call_expression "(**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8)" (parenthesized_expression "(**(code **)(iVar14 + 0x24165c))" ( (pointer_expression "**(code **)(iVar14 + 0x24165c)" * (pointer_expression "*(code **)(iVar14 + 0x24165c)" * (cast_expression "(code **)(iVar14 + 0x24165c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x24165c)" ( (binary_expression "iVar14 + 0x24165c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8)" ( (binary_expression "*(int *)(iVar14 + 0x24164c) + -0x4fe0" (pointer_expression "*(int *)(iVar14 + 0x24164c)" * (cast_expression "(int *)(iVar14 + 0x24164c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x24164c)" ( (binary_expression "iVar14 + 0x24164c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(iVar14 + 0x241504) + -0x6bb8" (pointer_expression "*(int *)(iVar14 + 0x241504)" * (cast_expression "(int *)(iVar14 + 0x241504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x241504)" ( (binary_expression "iVar14 + 0x241504" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "uVar4 = 0xe3;" (assignment_expression "uVar4 = 0xe3" identifier = number_literal) ;) (expression_statement "pbVar12 = (byte *)(*(int *)(iVar14 + 0x241504) + -0x6bac);" (assignment_expression "pbVar12 = (byte *)(*(int *)(iVar14 + 0x241504) + -0x6bac)" identifier = (cast_expression "(byte *)(*(int *)(iVar14 + 0x241504) + -0x6bac)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar14 + 0x241504) + -0x6bac)" ( (binary_expression "*(int *)(iVar14 + 0x241504) + -0x6bac" (pointer_expression "*(int *)(iVar14 + 0x241504)" * (cast_expression "(int *)(iVar14 + 0x241504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x241504)" ( (binary_expression "iVar14 + 0x241504" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(iVar14 + 0x24165c))(*(int *)(iVar14 + 0x24164c) + -0x4fe0);" (call_expression "(**(code **)(iVar14 + 0x24165c))(*(int *)(iVar14 + 0x24164c) + -0x4fe0)" (parenthesized_expression "(**(code **)(iVar14 + 0x24165c))" ( (pointer_expression "**(code **)(iVar14 + 0x24165c)" * (pointer_expression "*(code **)(iVar14 + 0x24165c)" * (cast_expression "(code **)(iVar14 + 0x24165c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x24165c)" ( (binary_expression "iVar14 + 0x24165c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar14 + 0x24164c) + -0x4fe0)" ( (binary_expression "*(int *)(iVar14 + 0x24164c) + -0x4fe0" (pointer_expression "*(int *)(iVar14 + 0x24164c)" * (cast_expression "(int *)(iVar14 + 0x24164c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x24164c)" ( (binary_expression "iVar14 + 0x24164c" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_001f0e6c:\n  iVar11 = *(int *)(iVar14 + 0x243fac) + 0xc20;" statement_identifier : (expression_statement "iVar11 = *(int *)(iVar14 + 0x243fac) + 0xc20;" (assignment_expression "iVar11 = *(int *)(iVar14 + 0x243fac) + 0xc20" identifier = (binary_expression "*(int *)(iVar14 + 0x243fac) + 0xc20" (pointer_expression "*(int *)(iVar14 + 0x243fac)" * (cast_expression "(int *)(iVar14 + 0x243fac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x243fac)" ( (binary_expression "iVar14 + 0x243fac" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "FUN_001f0c20();" (call_expression "FUN_001f0c20()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar10 = *(int *)(iVar11 + 0x2413f0);" (assignment_expression "iVar10 = *(int *)(iVar11 + 0x2413f0)" identifier = (pointer_expression "*(int *)(iVar11 + 0x2413f0)" * (cast_expression "(int *)(iVar11 + 0x2413f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x2413f0)" ( (binary_expression "iVar11 + 0x2413f0" identifier + number_literal) ))))) ;) (expression_statement "uStack_d8 = *(undefined4 *)(iVar11 + 0x243fec);" (assignment_expression "uStack_d8 = *(undefined4 *)(iVar11 + 0x243fec)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x243fec)" * (cast_expression "(undefined4 *)(iVar11 + 0x243fec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x243fec)" ( (binary_expression "iVar11 + 0x243fec" identifier + number_literal) ))))) ;) (expression_statement "bVar1 = *pbVar12;" (assignment_expression "bVar1 = *pbVar12" identifier = (pointer_expression "*pbVar12" * identifier)) ;) (expression_statement "puStack_d0 = puVar9;" (assignment_expression "puStack_d0 = puVar9" identifier = identifier) ;) (expression_statement "puStack_cc = auStack_28;" (assignment_expression "puStack_cc = auStack_28" identifier = identifier) ;) (expression_statement "ppuStack_c8 = &local_30;" (assignment_expression "ppuStack_c8 = &local_30" identifier = (pointer_expression "&local_30" & identifier)) ;) (expression_statement "uStack_c4 = uVar3;" (assignment_expression "uStack_c4 = uVar3" identifier = identifier) ;) (if_statement "if ((char)bVar1 < '\0') {\n    uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);\n    bVar2 = pbVar12[aiStack_e0[0]];\n    pbVar12 = pbVar12 + aiStack_e0[0] + 1;\n  }\n  else {\n    bVar2 = pbVar12[1];\n    uVar17 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);\n    bVar2 = pbVar12[aiStack_e0[0]];\n    pbVar12 = pbVar12 + aiStack_e0[0] + 1;\n  }" { (expression_statement "uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);" (assignment_expression "uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1)" identifier = (call_expression "(**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1)" (parenthesized_expression "(**(code **)(iVar11 + 0x241cf8))" ( (pointer_expression "**(code **)(iVar11 + 0x241cf8)" * (pointer_expression "*(code **)(iVar11 + 0x241cf8)" * (cast_expression "(code **)(iVar11 + 0x241cf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x241cf8)" ( (binary_expression "iVar11 + 0x241cf8" identifier + number_literal) ))))) )) (argument_list "(pbVar12 + 1,aiStack_e0,(uint)bVar1)" ( (binary_expression "pbVar12 + 1" identifier + number_literal) , identifier , (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "bVar2 = pbVar12[aiStack_e0[0]];" (assignment_expression "bVar2 = pbVar12[aiStack_e0[0]]" identifier = (subscript_expression "pbVar12[aiStack_e0[0]]" identifier [ (subscript_expression "aiStack_e0[0]" identifier [ number_literal ]) ])) ;) (expression_statement "pbVar12 = pbVar12 + aiStack_e0[0] + 1;" (assignment_expression "pbVar12 = pbVar12 + aiStack_e0[0] + 1" identifier = (binary_expression "pbVar12 + aiStack_e0[0] + 1" (binary_expression "pbVar12 + aiStack_e0[0]" identifier + (subscript_expression "aiStack_e0[0]" identifier [ number_literal ])) + number_literal)) ;) }) (else_clause "else {\n    bVar2 = pbVar12[1];\n    uVar17 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }" else (compound_statement "{\n    bVar2 = pbVar12[1];\n    uVar17 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }" { (expression_statement "bVar2 = pbVar12[1];" (assignment_expression "bVar2 = pbVar12[1]" identifier = (subscript_expression "pbVar12[1]" identifier [ number_literal ])) ;) (expression_statement "uVar17 = (ulonglong)(uint)bVar1;" (assignment_expression "uVar17 = (ulonglong)(uint)bVar1" identifier = (cast_expression "(ulonglong)(uint)bVar1" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "aiStack_e0[0] = 1;" (assignment_expression "aiStack_e0[0] = 1" (subscript_expression "aiStack_e0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar12 = pbVar12 + 2;" (assignment_expression "pbVar12 = pbVar12 + 2" identifier = (binary_expression "pbVar12 + 2" identifier + number_literal)) ;) }))) (expression_statement "uVar8 = (uint)bVar2;" (assignment_expression "uVar8 = (uint)bVar2" identifier = (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((char)bVar2 < '\0') {\n    (**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8);\n    uVar8 = extraout_v1;\n  }\n  else {\n    aiStack_e0[0] = 1;\n  }" if (parenthesized_expression "((char)bVar2 < '\0')" ( (binary_expression "(char)bVar2 < '\0'" (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    (**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8);\n    uVar8 = extraout_v1;\n  }" { (expression_statement "(**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8);" (call_expression "(**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8)" (parenthesized_expression "(**(code **)(iVar11 + 0x241cf8))" ( (pointer_expression "**(code **)(iVar11 + 0x241cf8)" * (pointer_expression "*(code **)(iVar11 + 0x241cf8)" * (cast_expression "(code **)(iVar11 + 0x241cf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x241cf8)" ( (binary_expression "iVar11 + 0x241cf8" identifier + number_literal) ))))) )) (argument_list "(pbVar12,aiStack_e0,uVar8)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar8 = extraout_v1;" (assignment_expression "uVar8 = extraout_v1" identifier = identifier) ;) }) (else_clause "else {\n    aiStack_e0[0] = 1;\n  }" else (compound_statement "{\n    aiStack_e0[0] = 1;\n  }" { (expression_statement "aiStack_e0[0] = 1;" (assignment_expression "aiStack_e0[0] = 1" (subscript_expression "aiStack_e0[0]" identifier [ number_literal ]) = number_literal) ;) }))) (if_statement "if ((uVar17 == 0) && (uVar8 == 0)) {\n    *puVar13 = uVar4;\n    return (int *)0x1;\n  }" if (parenthesized_expression "((uVar17 == 0) && (uVar8 == 0))" ( (binary_expression "(uVar17 == 0) && (uVar8 == 0)" (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) && (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) ))) )) (compound_statement "{\n    *puVar13 = uVar4;\n    return (int *)0x1;\n  }" { (expression_statement "*puVar13 = uVar4;" (assignment_expression "*puVar13 = uVar4" (pointer_expression "*puVar13" * identifier) = identifier) ;) (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if ((uVar4 < iVar14 + 0x249468U) && (uVar8 < 0x21)) {\n                    /* WARNING: Could not recover jumptable at 0x001f0f5c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))();\n    return piVar5;\n  }" if (parenthesized_expression "((uVar4 < iVar14 + 0x249468U) && (uVar8 < 0x21))" ( (binary_expression "(uVar4 < iVar14 + 0x249468U) && (uVar8 < 0x21)" (parenthesized_expression "(uVar4 < iVar14 + 0x249468U)" ( (binary_expression "uVar4 < iVar14 + 0x249468U" identifier < (binary_expression "iVar14 + 0x249468U" identifier + number_literal)) )) && (parenthesized_expression "(uVar8 < 0x21)" ( (binary_expression "uVar8 < 0x21" identifier < number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001f0f5c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))();\n    return piVar5;\n  }" { comment comment (expression_statement "piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))();" (assignment_expression "piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))()" identifier = (cast_expression "(int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))()" (parenthesized_expression "(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))" ( (pointer_expression "*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354)" * (cast_expression "(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354)" ( (binary_expression "*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354" (binary_expression "*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11" (pointer_expression "*(int *)(iVar10 + -0x6c80 + uVar8 * 4)" * (cast_expression "(int *)(iVar10 + -0x6c80 + uVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x6c80 + uVar8 * 4)" ( (binary_expression "iVar10 + -0x6c80 + uVar8 * 4" (binary_expression "iVar10 + -0x6c80" identifier + number_literal) + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) + identifier) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return piVar5;" return identifier ;) })) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */\n/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */\n/* DWARF original prototype: string get_name(Check_script * this) */\n\nstring * __thiscall gold::Check_script::get_name(string *__return_storage_ptr__,Check_script *this)\n\n{\n  byte bVar1;\n  byte bVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  string *psVar6;\n  size_type *psVar7;\n  int iVar8;\n  uint extraout_v1;\n  undefined *puVar9;\n  Output_section *this_00;\n  Output_section *this_01;\n  uchar *puVar10;\n  int iVar11;\n  byte *pbVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  int iVar15;\n  undefined *puVar16;\n  code *pcVar17;\n  ulonglong uVar18;\n  int aiStack_e0 [2];\n  undefined4 uStack_d8;\n  undefined *puStack_d0;\n  undefined1 *puStack_cc;\n  undefined1 **ppuStack_c8;\n  int iStack_c4;\n  undefined1 *local_30;\n  int local_2c;\n  undefined1 auStack_28 [20];\n  \n  puVar13 = (undefined4 *)0x0;\n  local_30 = auStack_28;\n  (*(code *)PTR__M_construct<char_const*>_00432488)\n            (&local_30,PTR_s__0043226c + -0x6e10,PTR_s__0043226c + -0x6e03);\n                    /* try { // try from 001f0ae0 to 001f0bef has its CatchHandler @ 001f0bf0 */\n  iVar3 = (*this->input_reader_->_vptr_Input_reader[2])(this->input_reader_);\n  uVar4 = (*(code *)PTR_strlen_0043677c)(iVar3);\n  if (uVar4 <= 0x7fffffffU - local_2c) {\n    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,iVar3,uVar4);\n    psVar7 = (size_type *)(piVar5 + 2);\n    (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)&__return_storage_ptr__->field_2;\n    if ((size_type *)*piVar5 == psVar7) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar3 = piVar5[5];\n      (__return_storage_ptr__->field_2)._M_allocated_capacity = *psVar7;\n      *(int *)((int)&__return_storage_ptr__->field_2 + 4) = iVar14;\n      *(int *)((int)&__return_storage_ptr__->field_2 + 8) = iVar11;\n      *(int *)((int)&__return_storage_ptr__->field_2 + 0xc) = iVar3;\n    }\n    else {\n      (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)*piVar5;\n      (__return_storage_ptr__->field_2)._M_allocated_capacity = piVar5[2];\n    }\n    __return_storage_ptr__->_M_string_length = piVar5[1];\n    *piVar5 = (int)psVar7;\n    piVar5[1] = 0;\n    *(undefined1 *)(piVar5 + 2) = 0;\n    if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    return __return_storage_ptr__;\n  }\n  puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240;\n  (*(code *)PTR___throw_length_error_00432480)();\n                    /* catch() { ... } // from try @ 001f0ae0 with catch @ 001f0bf0 */\n  if (local_30 != auStack_28) {\n    (*(code *)PTR_operator_delete_0043228c)(local_30);\n  }\n  puVar16 = PTR__Unwind_Resume_00432258;\n  (*(code *)PTR__Unwind_Resume_00432258)(puVar9);\n  iVar14 = 0xe34;\n  pcVar17 = *(code **)(puVar16 + 0x2417a4);\n  iVar11 = *(int *)(puVar16 + 0x241794) + -0x4fe0;\n  (*pcVar17)(iVar11,0xe34,*(int *)(puVar16 + 0x24164c) + -0x6b94);\n  if (*(int *)(iVar11 + 0x20) << 2 < 0) {\n    puVar13 = *(undefined4 **)(iVar11 + 0x18);\n    if (-1 < *(int *)(iVar11 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar17 + 0x241770))\n                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar17 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }\n    if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar17 + 0x241770))\n                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar17 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }\n    uVar4 = *(uint *)(iVar11 + 0x14) + *(int *)(iVar11 + 0x1c);\n    iVar8 = (uint)(uVar4 < *(uint *)(iVar11 + 0x14)) + (int)puVar13;\n    puVar13 = (undefined4 *)(uint)(*(int *)(iVar14 + 8) < iVar8);\n    if ((puVar13 != (undefined4 *)0x0) ||\n       ((*(int *)(iVar14 + 8) == iVar8 && (*(uint *)(iVar14 + 0xc) < uVar4)))) goto LAB_001f0d04;\n    this_00 = (Output_section *)(*(int *)(iVar14 + 0x10) + *(int *)(iVar11 + 0x1c));\n    if (*(char *)(iVar11 + 0x128) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0cec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      psVar6 = (string *)(**(code **)(pcVar17 + 0x245b34))(this_00,*(undefined4 *)(iVar11 + 0xfc));\n      return psVar6;\n    }\n    iVar11 = *(int *)(iVar11 + 0x94);\n    if (iVar11 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0cd8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      psVar6 = (string *)(**(code **)(pcVar17 + 0x245b34))();\n      return psVar6;\n    }\n  }\n  else {\nLAB_001f0d3c:\n    iVar11 = 0xe3;\n    this_00 = (Output_section *)(*(int *)(pcVar17 + 0x241760) + -0x4fe0);\n    (**(code **)(pcVar17 + 0x241770))(this_00,0xe3,*(int *)(pcVar17 + 0x241618) + -0x6bac);\n  }\n  iVar8 = *(int *)(pcVar17 + 0x2440c0) + 0xc20;\n  Output_section::postprocessing_buffer(this_00);\n  iVar14 = *(int *)&(this_00->super_Output_data).field_0x20;\n  if (iVar14 << 2 < 0) {\n    puVar13 = *(undefined4 **)&(this_00->super_Output_data).offset_;\n    iVar15 = (int)(this_00->super_Output_data).offset_;\n    if (iVar14 << 1 < 0) {\n      pbVar12 = *(byte **)((int)&(this_00->super_Output_data).data_size_ + 4);\n      if (-1 < (int)puVar13) {\n        iVar14 = (uint)(pbVar12 + iVar15 < pbVar12) + (int)puVar13;\n        puVar13 = (undefined4 *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n        if ((puVar13 == (undefined4 *)0x0) &&\n           ((*(int *)(iVar11 + 8) != iVar14 || (pbVar12 + iVar15 <= *(byte **)(iVar11 + 0xc))))) {\n          this_01 = (Output_section *)(*(int *)(iVar11 + 0x10) + iVar15);\n          if (*(char *)((int)&this_00[1].super_Output_data.address_ + 4) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)\n                     (**(code **)(iVar8 + 0x245a20))(this_01,*(undefined4 *)&this_00->field_0xfc);\n            return psVar6;\n          }\n          puVar10 = this_00->postprocessing_buffer_;\n          if (puVar10 != (uchar *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)(**(code **)(iVar8 + 0x245a20))();\n            return psVar6;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar8 + 0x24165c))\n                (*(int *)(iVar8 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar8 + 0x241504) + -0x6bc8);\n    }\n    (**(code **)(iVar8 + 0x24165c))\n              (*(int *)(iVar8 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar8 + 0x241504) + -0x6bb8);\n  }\n  puVar10 = (uchar *)0xe3;\n  pbVar12 = (byte *)(*(int *)(iVar8 + 0x241504) + -0x6bac);\n  this_01 = (Output_section *)(*(int *)(iVar8 + 0x24164c) + -0x4fe0);\n  (**(code **)(iVar8 + 0x24165c))();\nLAB_001f0e6c:\n  iVar14 = *(int *)(iVar8 + 0x243fac) + 0xc20;\n  Output_section::postprocessing_buffer(this_01);\n  iVar11 = *(int *)(iVar14 + 0x2413f0);\n  uStack_d8 = *(undefined4 *)(iVar14 + 0x243fec);\n  bVar1 = *pbVar12;\n  puStack_d0 = puVar9;\n  puStack_cc = auStack_28;\n  ppuStack_c8 = &local_30;\n  iStack_c4 = iVar3;\n  if ((char)bVar1 < '\0') {\n    uVar18 = (**(code **)(iVar14 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);\n    bVar2 = pbVar12[aiStack_e0[0]];\n    pbVar12 = pbVar12 + aiStack_e0[0] + 1;\n  }\n  else {\n    bVar2 = pbVar12[1];\n    uVar18 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }\n  uVar4 = (uint)bVar2;\n  if ((char)bVar2 < '\0') {\n    (**(code **)(iVar14 + 0x241cf8))(pbVar12,aiStack_e0,uVar4);\n    uVar4 = extraout_v1;\n  }\n  else {\n    aiStack_e0[0] = 1;\n  }\n  if ((uVar18 == 0) && (uVar4 == 0)) {\n    *puVar13 = puVar10;\n    return (string *)0x1;\n  }\n  if ((puVar10 < (uchar *)(iVar8 + 0x249468)) && (uVar4 < 0x21)) {\n                    /* WARNING: Could not recover jumptable at 0x001f0f5c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    psVar6 = (string *)(*(code *)(*(int *)(iVar11 + -0x6c80 + uVar4 * 4) + iVar14 + 0x249354))();\n    return psVar6;\n  }\n  return (string *)0x0;\n}\n\n" comment comment comment comment comment comment comment (ERROR "string * __thiscall gold::Check_script::get_name(string *__return_storage_ptr__,Check_script *this)" (binary_expression "string * __thiscall gold::Check_script::get_name(string *__return_storage_ptr__,Check_script *this" (binary_expression "string * __thiscall gold::Check_script::get_name(string *__return_storage_ptr__" (binary_expression "string * __thiscall" identifier * identifier) (ERROR "gold::Check_script::get_name(string" identifier : : identifier : : identifier ( identifier) * identifier) (ERROR ",Check_script" , identifier) * identifier) )) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  string *psVar6;\n  size_type *psVar7;\n  int iVar8;\n  uint extraout_v1;\n  undefined *puVar9;\n  Output_section *this_00;\n  Output_section *this_01;\n  uchar *puVar10;\n  int iVar11;\n  byte *pbVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  int iVar15;\n  undefined *puVar16;\n  code *pcVar17;\n  ulonglong uVar18;\n  int aiStack_e0 [2];\n  undefined4 uStack_d8;\n  undefined *puStack_d0;\n  undefined1 *puStack_cc;\n  undefined1 **ppuStack_c8;\n  int iStack_c4;\n  undefined1 *local_30;\n  int local_2c;\n  undefined1 auStack_28 [20];\n  \n  puVar13 = (undefined4 *)0x0;\n  local_30 = auStack_28;\n  (*(code *)PTR__M_construct<char_const*>_00432488)\n            (&local_30,PTR_s__0043226c + -0x6e10,PTR_s__0043226c + -0x6e03);\n                    /* try { // try from 001f0ae0 to 001f0bef has its CatchHandler @ 001f0bf0 */\n  iVar3 = (*this->input_reader_->_vptr_Input_reader[2])(this->input_reader_);\n  uVar4 = (*(code *)PTR_strlen_0043677c)(iVar3);\n  if (uVar4 <= 0x7fffffffU - local_2c) {\n    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,iVar3,uVar4);\n    psVar7 = (size_type *)(piVar5 + 2);\n    (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)&__return_storage_ptr__->field_2;\n    if ((size_type *)*piVar5 == psVar7) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar3 = piVar5[5];\n      (__return_storage_ptr__->field_2)._M_allocated_capacity = *psVar7;\n      *(int *)((int)&__return_storage_ptr__->field_2 + 4) = iVar14;\n      *(int *)((int)&__return_storage_ptr__->field_2 + 8) = iVar11;\n      *(int *)((int)&__return_storage_ptr__->field_2 + 0xc) = iVar3;\n    }\n    else {\n      (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)*piVar5;\n      (__return_storage_ptr__->field_2)._M_allocated_capacity = piVar5[2];\n    }\n    __return_storage_ptr__->_M_string_length = piVar5[1];\n    *piVar5 = (int)psVar7;\n    piVar5[1] = 0;\n    *(undefined1 *)(piVar5 + 2) = 0;\n    if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    return __return_storage_ptr__;\n  }\n  puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240;\n  (*(code *)PTR___throw_length_error_00432480)();\n                    /* catch() { ... } // from try @ 001f0ae0 with catch @ 001f0bf0 */\n  if (local_30 != auStack_28) {\n    (*(code *)PTR_operator_delete_0043228c)(local_30);\n  }\n  puVar16 = PTR__Unwind_Resume_00432258;\n  (*(code *)PTR__Unwind_Resume_00432258)(puVar9);\n  iVar14 = 0xe34;\n  pcVar17 = *(code **)(puVar16 + 0x2417a4);\n  iVar11 = *(int *)(puVar16 + 0x241794) + -0x4fe0;\n  (*pcVar17)(iVar11,0xe34,*(int *)(puVar16 + 0x24164c) + -0x6b94);\n  if (*(int *)(iVar11 + 0x20) << 2 < 0) {\n    puVar13 = *(undefined4 **)(iVar11 + 0x18);\n    if (-1 < *(int *)(iVar11 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar17 + 0x241770))\n                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar17 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }\n    if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar17 + 0x241770))\n                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar17 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }\n    uVar4 = *(uint *)(iVar11 + 0x14) + *(int *)(iVar11 + 0x1c);\n    iVar8 = (uint)(uVar4 < *(uint *)(iVar11 + 0x14)) + (int)puVar13;\n    puVar13 = (undefined4 *)(uint)(*(int *)(iVar14 + 8) < iVar8);\n    if ((puVar13 != (undefined4 *)0x0) ||\n       ((*(int *)(iVar14 + 8) == iVar8 && (*(uint *)(iVar14 + 0xc) < uVar4)))) goto LAB_001f0d04;\n    this_00 = (Output_section *)(*(int *)(iVar14 + 0x10) + *(int *)(iVar11 + 0x1c));\n    if (*(char *)(iVar11 + 0x128) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0cec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      psVar6 = (string *)(**(code **)(pcVar17 + 0x245b34))(this_00,*(undefined4 *)(iVar11 + 0xfc));\n      return psVar6;\n    }\n    iVar11 = *(int *)(iVar11 + 0x94);\n    if (iVar11 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0cd8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      psVar6 = (string *)(**(code **)(pcVar17 + 0x245b34))();\n      return psVar6;\n    }\n  }\n  else {\nLAB_001f0d3c:\n    iVar11 = 0xe3;\n    this_00 = (Output_section *)(*(int *)(pcVar17 + 0x241760) + -0x4fe0);\n    (**(code **)(pcVar17 + 0x241770))(this_00,0xe3,*(int *)(pcVar17 + 0x241618) + -0x6bac);\n  }\n  iVar8 = *(int *)(pcVar17 + 0x2440c0) + 0xc20;\n  Output_section::postprocessing_buffer(this_00);\n  iVar14 = *(int *)&(this_00->super_Output_data).field_0x20;\n  if (iVar14 << 2 < 0) {\n    puVar13 = *(undefined4 **)&(this_00->super_Output_data).offset_;\n    iVar15 = (int)(this_00->super_Output_data).offset_;\n    if (iVar14 << 1 < 0) {\n      pbVar12 = *(byte **)((int)&(this_00->super_Output_data).data_size_ + 4);\n      if (-1 < (int)puVar13) {\n        iVar14 = (uint)(pbVar12 + iVar15 < pbVar12) + (int)puVar13;\n        puVar13 = (undefined4 *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n        if ((puVar13 == (undefined4 *)0x0) &&\n           ((*(int *)(iVar11 + 8) != iVar14 || (pbVar12 + iVar15 <= *(byte **)(iVar11 + 0xc))))) {\n          this_01 = (Output_section *)(*(int *)(iVar11 + 0x10) + iVar15);\n          if (*(char *)((int)&this_00[1].super_Output_data.address_ + 4) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)\n                     (**(code **)(iVar8 + 0x245a20))(this_01,*(undefined4 *)&this_00->field_0xfc);\n            return psVar6;\n          }\n          puVar10 = this_00->postprocessing_buffer_;\n          if (puVar10 != (uchar *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)(**(code **)(iVar8 + 0x245a20))();\n            return psVar6;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar8 + 0x24165c))\n                (*(int *)(iVar8 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar8 + 0x241504) + -0x6bc8);\n    }\n    (**(code **)(iVar8 + 0x24165c))\n              (*(int *)(iVar8 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar8 + 0x241504) + -0x6bb8);\n  }\n  puVar10 = (uchar *)0xe3;\n  pbVar12 = (byte *)(*(int *)(iVar8 + 0x241504) + -0x6bac);\n  this_01 = (Output_section *)(*(int *)(iVar8 + 0x24164c) + -0x4fe0);\n  (**(code **)(iVar8 + 0x24165c))();\nLAB_001f0e6c:\n  iVar14 = *(int *)(iVar8 + 0x243fac) + 0xc20;\n  Output_section::postprocessing_buffer(this_01);\n  iVar11 = *(int *)(iVar14 + 0x2413f0);\n  uStack_d8 = *(undefined4 *)(iVar14 + 0x243fec);\n  bVar1 = *pbVar12;\n  puStack_d0 = puVar9;\n  puStack_cc = auStack_28;\n  ppuStack_c8 = &local_30;\n  iStack_c4 = iVar3;\n  if ((char)bVar1 < '\0') {\n    uVar18 = (**(code **)(iVar14 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);\n    bVar2 = pbVar12[aiStack_e0[0]];\n    pbVar12 = pbVar12 + aiStack_e0[0] + 1;\n  }\n  else {\n    bVar2 = pbVar12[1];\n    uVar18 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }\n  uVar4 = (uint)bVar2;\n  if ((char)bVar2 < '\0') {\n    (**(code **)(iVar14 + 0x241cf8))(pbVar12,aiStack_e0,uVar4);\n    uVar4 = extraout_v1;\n  }\n  else {\n    aiStack_e0[0] = 1;\n  }\n  if ((uVar18 == 0) && (uVar4 == 0)) {\n    *puVar13 = puVar10;\n    return (string *)0x1;\n  }\n  if ((puVar10 < (uchar *)(iVar8 + 0x249468)) && (uVar4 < 0x21)) {\n                    /* WARNING: Could not recover jumptable at 0x001f0f5c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    psVar6 = (string *)(*(code *)(*(int *)(iVar11 + -0x6c80 + uVar4 * 4) + iVar14 + 0x249354))();\n    return psVar6;\n  }\n  return (string *)0x0;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "string *psVar6;" type_identifier (pointer_declarator "*psVar6" * identifier) ;) (declaration "size_type *psVar7;" type_identifier (pointer_declarator "*psVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint extraout_v1;" type_identifier identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "Output_section *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "Output_section *this_01;" type_identifier (pointer_declarator "*this_01" * identifier) ;) (declaration "uchar *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (declaration "ulonglong uVar18;" type_identifier identifier ;) (declaration "int aiStack_e0 [2];" primitive_type (array_declarator "aiStack_e0 [2]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_d8;" type_identifier identifier ;) (declaration "undefined *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "undefined1 *puStack_cc;" type_identifier (pointer_declarator "*puStack_cc" * identifier) ;) (declaration "undefined1 **ppuStack_c8;" type_identifier (pointer_declarator "**ppuStack_c8" * (pointer_declarator "*ppuStack_c8" * identifier)) ;) (declaration "int iStack_c4;" primitive_type identifier ;) (declaration "undefined1 *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "undefined1 auStack_28 [20];" type_identifier (array_declarator "auStack_28 [20]" identifier [ number_literal ]) ;) (expression_statement "puVar13 = (undefined4 *)0x0;" (assignment_expression "puVar13 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_30 = auStack_28;" (assignment_expression "local_30 = auStack_28" identifier = identifier) ;) (expression_statement "(*(code *)PTR__M_construct<char_const*>_00432488)\n            (&local_30,PTR_s__0043226c + -0x6e10,PTR_s__0043226c + -0x6e03);" (call_expression "(*(code *)PTR__M_construct<char_const*>_00432488)\n            (&local_30,PTR_s__0043226c + -0x6e10,PTR_s__0043226c + -0x6e03)" (parenthesized_expression "(*(code *)PTR__M_construct<char_const*>_00432488)" ( (binary_expression "*(code *)PTR__M_construct<char_const*>_00432488" (binary_expression "*(code *)PTR__M_construct<char_const" (pointer_expression "*(code *)PTR__M_construct" * (cast_expression "(code *)PTR__M_construct" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) (ERROR "*" *) > identifier) )) (argument_list "(&local_30,PTR_s__0043226c + -0x6e10,PTR_s__0043226c + -0x6e03)" ( (pointer_expression "&local_30" & identifier) , (binary_expression "PTR_s__0043226c + -0x6e10" identifier + number_literal) , (binary_expression "PTR_s__0043226c + -0x6e03" identifier + number_literal) ))) ;) comment (expression_statement "iVar3 = (*this->input_reader_->_vptr_Input_reader[2])(this->input_reader_);" (assignment_expression "iVar3 = (*this->input_reader_->_vptr_Input_reader[2])(this->input_reader_)" identifier = (call_expression "(*this->input_reader_->_vptr_Input_reader[2])(this->input_reader_)" (parenthesized_expression "(*this->input_reader_->_vptr_Input_reader[2])" ( (pointer_expression "*this->input_reader_->_vptr_Input_reader[2]" * (subscript_expression "this->input_reader_->_vptr_Input_reader[2]" (field_expression "this->input_reader_->_vptr_Input_reader" (field_expression "this->input_reader_" identifier -> field_identifier) -> field_identifier) [ number_literal ])) )) (argument_list "(this->input_reader_)" ( (field_expression "this->input_reader_" identifier -> field_identifier) )))) ;) (expression_statement "uVar4 = (*(code *)PTR_strlen_0043677c)(iVar3);" (assignment_expression "uVar4 = (*(code *)PTR_strlen_0043677c)(iVar3)" identifier = (call_expression "(*(code *)PTR_strlen_0043677c)(iVar3)" (parenthesized_expression "(*(code *)PTR_strlen_0043677c)" ( (pointer_expression "*(code *)PTR_strlen_0043677c" * (cast_expression "(code *)PTR_strlen_0043677c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;) (if_statement "if (uVar4 <= 0x7fffffffU - local_2c) {\n    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,iVar3,uVar4);\n    psVar7 = (size_type *)(piVar5 + 2);\n    (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)&__return_storage_ptr__->field_2;\n    if ((size_type *)*piVar5 == psVar7) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar3 = piVar5[5];\n      (__return_storage_ptr__->field_2)._M_allocated_capacity = *psVar7;\n      *(int *)((int)&__return_storage_ptr__->field_2 + 4) = iVar14;\n      *(int *)((int)&__return_storage_ptr__->field_2 + 8) = iVar11;\n      *(int *)((int)&__return_storage_ptr__->field_2 + 0xc) = iVar3;\n    }\n    else {\n      (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)*piVar5;\n      (__return_storage_ptr__->field_2)._M_allocated_capacity = piVar5[2];\n    }\n    __return_storage_ptr__->_M_string_length = piVar5[1];\n    *piVar5 = (int)psVar7;\n    piVar5[1] = 0;\n    *(undefined1 *)(piVar5 + 2) = 0;\n    if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    return __return_storage_ptr__;\n  }" if (parenthesized_expression "(uVar4 <= 0x7fffffffU - local_2c)" ( (binary_expression "uVar4 <= 0x7fffffffU - local_2c" identifier <= (binary_expression "0x7fffffffU - local_2c" number_literal - identifier)) )) (compound_statement "{\n    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,iVar3,uVar4);\n    psVar7 = (size_type *)(piVar5 + 2);\n    (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)&__return_storage_ptr__->field_2;\n    if ((size_type *)*piVar5 == psVar7) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar3 = piVar5[5];\n      (__return_storage_ptr__->field_2)._M_allocated_capacity = *psVar7;\n      *(int *)((int)&__return_storage_ptr__->field_2 + 4) = iVar14;\n      *(int *)((int)&__return_storage_ptr__->field_2 + 8) = iVar11;\n      *(int *)((int)&__return_storage_ptr__->field_2 + 0xc) = iVar3;\n    }\n    else {\n      (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)*piVar5;\n      (__return_storage_ptr__->field_2)._M_allocated_capacity = piVar5[2];\n    }\n    __return_storage_ptr__->_M_string_length = piVar5[1];\n    *piVar5 = (int)psVar7;\n    piVar5[1] = 0;\n    *(undefined1 *)(piVar5 + 2) = 0;\n    if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    return __return_storage_ptr__;\n  }" { (expression_statement "piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,iVar3,uVar4);" (assignment_expression "piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,iVar3,uVar4)" identifier = (cast_expression "(int *)(*(code *)PTR__M_append_00432c50)(&local_30,iVar3,uVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR__M_append_00432c50)(&local_30,iVar3,uVar4)" (parenthesized_expression "(*(code *)PTR__M_append_00432c50)" ( (pointer_expression "*(code *)PTR__M_append_00432c50" * (cast_expression "(code *)PTR__M_append_00432c50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_30,iVar3,uVar4)" ( (pointer_expression "&local_30" & identifier) , identifier , identifier ))))) ;) (expression_statement "psVar7 = (size_type *)(piVar5 + 2);" (assignment_expression "psVar7 = (size_type *)(piVar5 + 2)" identifier = (cast_expression "(size_type *)(piVar5 + 2)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 2)" ( (binary_expression "piVar5 + 2" identifier + number_literal) )))) ;) (expression_statement "(__return_storage_ptr__->_M_dataplus)._M_p = (pointer)&__return_storage_ptr__->field_2;" (assignment_expression "(__return_storage_ptr__->_M_dataplus)._M_p = (pointer)&__return_storage_ptr__->field_2" (field_expression "(__return_storage_ptr__->_M_dataplus)._M_p" (parenthesized_expression "(__return_storage_ptr__->_M_dataplus)" ( (field_expression "__return_storage_ptr__->_M_dataplus" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(pointer)&__return_storage_ptr__->field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "__return_storage_ptr__->field_2" identifier -> field_identifier))) ;) (if_statement "if ((size_type *)*piVar5 == psVar7) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar3 = piVar5[5];\n      (__return_storage_ptr__->field_2)._M_allocated_capacity = *psVar7;\n      *(int *)((int)&__return_storage_ptr__->field_2 + 4) = iVar14;\n      *(int *)((int)&__return_storage_ptr__->field_2 + 8) = iVar11;\n      *(int *)((int)&__return_storage_ptr__->field_2 + 0xc) = iVar3;\n    }\n    else {\n      (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)*piVar5;\n      (__return_storage_ptr__->field_2)._M_allocated_capacity = piVar5[2];\n    }" if (parenthesized_expression "((size_type *)*piVar5 == psVar7)" ( (binary_expression "(size_type *)*piVar5 == psVar7" (cast_expression "(size_type *)*piVar5" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier)) == identifier) )) (compound_statement "{\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar3 = piVar5[5];\n      (__return_storage_ptr__->field_2)._M_allocated_capacity = *psVar7;\n      *(int *)((int)&__return_storage_ptr__->field_2 + 4) = iVar14;\n      *(int *)((int)&__return_storage_ptr__->field_2 + 8) = iVar11;\n      *(int *)((int)&__return_storage_ptr__->field_2 + 0xc) = iVar3;\n    }" { (expression_statement "iVar14 = piVar5[3];" (assignment_expression "iVar14 = piVar5[3]" identifier = (subscript_expression "piVar5[3]" identifier [ number_literal ])) ;) (expression_statement "iVar11 = piVar5[4];" (assignment_expression "iVar11 = piVar5[4]" identifier = (subscript_expression "piVar5[4]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = piVar5[5];" (assignment_expression "iVar3 = piVar5[5]" identifier = (subscript_expression "piVar5[5]" identifier [ number_literal ])) ;) (expression_statement "(__return_storage_ptr__->field_2)._M_allocated_capacity = *psVar7;" (assignment_expression "(__return_storage_ptr__->field_2)._M_allocated_capacity = *psVar7" (field_expression "(__return_storage_ptr__->field_2)._M_allocated_capacity" (parenthesized_expression "(__return_storage_ptr__->field_2)" ( (field_expression "__return_storage_ptr__->field_2" identifier -> field_identifier) )) . field_identifier) = (pointer_expression "*psVar7" * identifier)) ;) (expression_statement "*(int *)((int)&__return_storage_ptr__->field_2 + 4) = iVar14;" (assignment_expression "*(int *)((int)&__return_storage_ptr__->field_2 + 4) = iVar14" (pointer_expression "*(int *)((int)&__return_storage_ptr__->field_2 + 4)" * (cast_expression "(int *)((int)&__return_storage_ptr__->field_2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__return_storage_ptr__->field_2 + 4)" ( (binary_expression "(int)&__return_storage_ptr__->field_2 + 4" (cast_expression "(int)&__return_storage_ptr__->field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__return_storage_ptr__->field_2" & (field_expression "__return_storage_ptr__->field_2" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)&__return_storage_ptr__->field_2 + 8) = iVar11;" (assignment_expression "*(int *)((int)&__return_storage_ptr__->field_2 + 8) = iVar11" (pointer_expression "*(int *)((int)&__return_storage_ptr__->field_2 + 8)" * (cast_expression "(int *)((int)&__return_storage_ptr__->field_2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__return_storage_ptr__->field_2 + 8)" ( (binary_expression "(int)&__return_storage_ptr__->field_2 + 8" (cast_expression "(int)&__return_storage_ptr__->field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__return_storage_ptr__->field_2" & (field_expression "__return_storage_ptr__->field_2" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)&__return_storage_ptr__->field_2 + 0xc) = iVar3;" (assignment_expression "*(int *)((int)&__return_storage_ptr__->field_2 + 0xc) = iVar3" (pointer_expression "*(int *)((int)&__return_storage_ptr__->field_2 + 0xc)" * (cast_expression "(int *)((int)&__return_storage_ptr__->field_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__return_storage_ptr__->field_2 + 0xc)" ( (binary_expression "(int)&__return_storage_ptr__->field_2 + 0xc" (cast_expression "(int)&__return_storage_ptr__->field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__return_storage_ptr__->field_2" & (field_expression "__return_storage_ptr__->field_2" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n      (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)*piVar5;\n      (__return_storage_ptr__->field_2)._M_allocated_capacity = piVar5[2];\n    }" else (compound_statement "{\n      (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)*piVar5;\n      (__return_storage_ptr__->field_2)._M_allocated_capacity = piVar5[2];\n    }" { (expression_statement "(__return_storage_ptr__->_M_dataplus)._M_p = (pointer)*piVar5;" (assignment_expression "(__return_storage_ptr__->_M_dataplus)._M_p = (pointer)*piVar5" (field_expression "(__return_storage_ptr__->_M_dataplus)._M_p" (parenthesized_expression "(__return_storage_ptr__->_M_dataplus)" ( (field_expression "__return_storage_ptr__->_M_dataplus" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(pointer)*piVar5" (parenthesized_expression "(pointer)" ( identifier )) * identifier)) ;) (expression_statement "(__return_storage_ptr__->field_2)._M_allocated_capacity = piVar5[2];" (assignment_expression "(__return_storage_ptr__->field_2)._M_allocated_capacity = piVar5[2]" (field_expression "(__return_storage_ptr__->field_2)._M_allocated_capacity" (parenthesized_expression "(__return_storage_ptr__->field_2)" ( (field_expression "__return_storage_ptr__->field_2" identifier -> field_identifier) )) . field_identifier) = (subscript_expression "piVar5[2]" identifier [ number_literal ])) ;) }))) (expression_statement "__return_storage_ptr__->_M_string_length = piVar5[1];" (assignment_expression "__return_storage_ptr__->_M_string_length = piVar5[1]" (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier) = (subscript_expression "piVar5[1]" identifier [ number_literal ])) ;) (expression_statement "*piVar5 = (int)psVar7;" (assignment_expression "*piVar5 = (int)psVar7" (pointer_expression "*piVar5" * identifier) = (cast_expression "(int)psVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar5[1] = 0;" (assignment_expression "piVar5[1] = 0" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar5 + 2) = 0;" (assignment_expression "*(undefined1 *)(piVar5 + 2) = 0" (pointer_expression "*(undefined1 *)(piVar5 + 2)" * (cast_expression "(undefined1 *)(piVar5 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 2)" ( (binary_expression "piVar5 + 2" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }" if (parenthesized_expression "(local_30 != auStack_28)" ( (binary_expression "local_30 != auStack_28" identifier != identifier) )) (compound_statement "{\n      (*(code *)PTR_operator_delete_0043228c)();\n    }" { (expression_statement "(*(code *)PTR_operator_delete_0043228c)();" (call_expression "(*(code *)PTR_operator_delete_0043228c)()" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" ( (pointer_expression "*(code *)PTR_operator_delete_0043228c" * (cast_expression "(code *)PTR_operator_delete_0043228c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (return_statement "return __return_storage_ptr__;" return identifier ;) })) (expression_statement "puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240;" (assignment_expression "puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240" identifier = (binary_expression "PTR_s_alize_xindex_004323b4 + -0x6240" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___throw_length_error_00432480)();" (call_expression "(*(code *)PTR___throw_length_error_00432480)()" (parenthesized_expression "(*(code *)PTR___throw_length_error_00432480)" ( (pointer_expression "*(code *)PTR___throw_length_error_00432480" * (cast_expression "(code *)PTR___throw_length_error_00432480" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) comment (if_statement "if (local_30 != auStack_28) {\n    (*(code *)PTR_operator_delete_0043228c)(local_30);\n  }" if (parenthesized_expression "(local_30 != auStack_28)" ( (binary_expression "local_30 != auStack_28" identifier != identifier) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_0043228c)(local_30);\n  }" { (expression_statement "(*(code *)PTR_operator_delete_0043228c)(local_30);" (call_expression "(*(code *)PTR_operator_delete_0043228c)(local_30)" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" ( (pointer_expression "*(code *)PTR_operator_delete_0043228c" * (cast_expression "(code *)PTR_operator_delete_0043228c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier ))) ;) })) (expression_statement "puVar16 = PTR__Unwind_Resume_00432258;" (assignment_expression "puVar16 = PTR__Unwind_Resume_00432258" identifier = identifier) ;) (expression_statement "(*(code *)PTR__Unwind_Resume_00432258)(puVar9);" (call_expression "(*(code *)PTR__Unwind_Resume_00432258)(puVar9)" (parenthesized_expression "(*(code *)PTR__Unwind_Resume_00432258)" ( (pointer_expression "*(code *)PTR__Unwind_Resume_00432258" * (cast_expression "(code *)PTR__Unwind_Resume_00432258" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar9)" ( identifier ))) ;) (expression_statement "iVar14 = 0xe34;" (assignment_expression "iVar14 = 0xe34" identifier = number_literal) ;) (expression_statement "pcVar17 = *(code **)(puVar16 + 0x2417a4);" (assignment_expression "pcVar17 = *(code **)(puVar16 + 0x2417a4)" identifier = (pointer_expression "*(code **)(puVar16 + 0x2417a4)" * (cast_expression "(code **)(puVar16 + 0x2417a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x2417a4)" ( (binary_expression "puVar16 + 0x2417a4" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(puVar16 + 0x241794) + -0x4fe0;" (assignment_expression "iVar11 = *(int *)(puVar16 + 0x241794) + -0x4fe0" identifier = (binary_expression "*(int *)(puVar16 + 0x241794) + -0x4fe0" (pointer_expression "*(int *)(puVar16 + 0x241794)" * (cast_expression "(int *)(puVar16 + 0x241794)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x241794)" ( (binary_expression "puVar16 + 0x241794" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar17)(iVar11,0xe34,*(int *)(puVar16 + 0x24164c) + -0x6b94);" (call_expression "(*pcVar17)(iVar11,0xe34,*(int *)(puVar16 + 0x24164c) + -0x6b94)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(iVar11,0xe34,*(int *)(puVar16 + 0x24164c) + -0x6b94)" ( identifier , number_literal , (binary_expression "*(int *)(puVar16 + 0x24164c) + -0x6b94" (pointer_expression "*(int *)(puVar16 + 0x24164c)" * (cast_expression "(int *)(puVar16 + 0x24164c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x24164c)" ( (binary_expression "puVar16 + 0x24164c" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)(iVar11 + 0x20) << 2 < 0) {\n    puVar13 = *(undefined4 **)(iVar11 + 0x18);\n    if (-1 < *(int *)(iVar11 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar17 + 0x241770))\n                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar17 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }\n    if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar17 + 0x241770))\n                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar17 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }\n    uVar4 = *(uint *)(iVar11 + 0x14) + *(int *)(iVar11 + 0x1c);\n    iVar8 = (uint)(uVar4 < *(uint *)(iVar11 + 0x14)) + (int)puVar13;\n    puVar13 = (undefined4 *)(uint)(*(int *)(iVar14 + 8) < iVar8);\n    if ((puVar13 != (undefined4 *)0x0) ||\n       ((*(int *)(iVar14 + 8) == iVar8 && (*(uint *)(iVar14 + 0xc) < uVar4)))) goto LAB_001f0d04;\n    this_00 = (Output_section *)(*(int *)(iVar14 + 0x10) + *(int *)(iVar11 + 0x1c));\n    if (*(char *)(iVar11 + 0x128) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0cec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      psVar6 = (string *)(**(code **)(pcVar17 + 0x245b34))(this_00,*(undefined4 *)(iVar11 + 0xfc));\n      return psVar6;\n    }\n    iVar11 = *(int *)(iVar11 + 0x94);\n    if (iVar11 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0cd8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      psVar6 = (string *)(**(code **)(pcVar17 + 0x245b34))();\n      return psVar6;\n    }\n  }\n  else {\nLAB_001f0d3c:\n    iVar11 = 0xe3;\n    this_00 = (Output_section *)(*(int *)(pcVar17 + 0x241760) + -0x4fe0);\n    (**(code **)(pcVar17 + 0x241770))(this_00,0xe3,*(int *)(pcVar17 + 0x241618) + -0x6bac);\n  }" if (parenthesized_expression "(*(int *)(iVar11 + 0x20) << 2 < 0)" ( (binary_expression "*(int *)(iVar11 + 0x20) << 2 < 0" (binary_expression "*(int *)(iVar11 + 0x20) << 2" (pointer_expression "*(int *)(iVar11 + 0x20)" * (cast_expression "(int *)(iVar11 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x20)" ( (binary_expression "iVar11 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    puVar13 = *(undefined4 **)(iVar11 + 0x18);\n    if (-1 < *(int *)(iVar11 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar17 + 0x241770))\n                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar17 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }\n    if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar17 + 0x241770))\n                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar17 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }\n    uVar4 = *(uint *)(iVar11 + 0x14) + *(int *)(iVar11 + 0x1c);\n    iVar8 = (uint)(uVar4 < *(uint *)(iVar11 + 0x14)) + (int)puVar13;\n    puVar13 = (undefined4 *)(uint)(*(int *)(iVar14 + 8) < iVar8);\n    if ((puVar13 != (undefined4 *)0x0) ||\n       ((*(int *)(iVar14 + 8) == iVar8 && (*(uint *)(iVar14 + 0xc) < uVar4)))) goto LAB_001f0d04;\n    this_00 = (Output_section *)(*(int *)(iVar14 + 0x10) + *(int *)(iVar11 + 0x1c));\n    if (*(char *)(iVar11 + 0x128) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0cec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      psVar6 = (string *)(**(code **)(pcVar17 + 0x245b34))(this_00,*(undefined4 *)(iVar11 + 0xfc));\n      return psVar6;\n    }\n    iVar11 = *(int *)(iVar11 + 0x94);\n    if (iVar11 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0cd8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      psVar6 = (string *)(**(code **)(pcVar17 + 0x245b34))();\n      return psVar6;\n    }\n  }" { (expression_statement "puVar13 = *(undefined4 **)(iVar11 + 0x18);" (assignment_expression "puVar13 = *(undefined4 **)(iVar11 + 0x18)" identifier = (pointer_expression "*(undefined4 **)(iVar11 + 0x18)" * (cast_expression "(undefined4 **)(iVar11 + 0x18)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x18)" ( (binary_expression "iVar11 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(iVar11 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar17 + 0x241770))\n                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar17 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }" if (parenthesized_expression "(-1 < *(int *)(iVar11 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(iVar11 + 0x20) << 1" number_literal < (binary_expression "*(int *)(iVar11 + 0x20) << 1" (pointer_expression "*(int *)(iVar11 + 0x20)" * (cast_expression "(int *)(iVar11 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x20)" ( (binary_expression "iVar11 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\nLAB_001f0d20:\n      (**(code **)(pcVar17 + 0x241770))\n                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar17 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }" { (labeled_statement "LAB_001f0d20:\n      (**(code **)(pcVar17 + 0x241770))\n                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar17 + 0x241618) + -0x6bb8)\n      ;" statement_identifier : (expression_statement "(**(code **)(pcVar17 + 0x241770))\n                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar17 + 0x241618) + -0x6bb8)\n      ;" (call_expression "(**(code **)(pcVar17 + 0x241770))\n                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar17 + 0x241618) + -0x6bb8)" (parenthesized_expression "(**(code **)(pcVar17 + 0x241770))" ( (pointer_expression "**(code **)(pcVar17 + 0x241770)" * (pointer_expression "*(code **)(pcVar17 + 0x241770)" * (cast_expression "(code **)(pcVar17 + 0x241770)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x241770)" ( (binary_expression "pcVar17 + 0x241770" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar17 + 0x241618) + -0x6bb8)" ( (binary_expression "*(int *)(pcVar17 + 0x241760) + -0x4fe0" (pointer_expression "*(int *)(pcVar17 + 0x241760)" * (cast_expression "(int *)(pcVar17 + 0x241760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x241760)" ( (binary_expression "pcVar17 + 0x241760" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x241618) + -0x6bb8" (pointer_expression "*(int *)(pcVar17 + 0x241618)" * (cast_expression "(int *)(pcVar17 + 0x241618)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x241618)" ( (binary_expression "pcVar17 + 0x241618" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_001f0d3c;" goto statement_identifier ;) })) (if_statement "if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar17 + 0x241770))\n                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar17 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }" if (parenthesized_expression "((int)puVar13 < 0)" ( (binary_expression "(int)puVar13 < 0" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\nLAB_001f0d04:\n      (**(code **)(pcVar17 + 0x241770))\n                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar17 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }" { (labeled_statement "LAB_001f0d04:\n      (**(code **)(pcVar17 + 0x241770))\n                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar17 + 0x241618) + -0x6bc8)\n      ;" statement_identifier : (expression_statement "(**(code **)(pcVar17 + 0x241770))\n                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar17 + 0x241618) + -0x6bc8)\n      ;" (call_expression "(**(code **)(pcVar17 + 0x241770))\n                (*(int *)(pcVar17 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar17 + 0x241618) + -0x6bc8)" (parenthesized_expression "(**(code **)(pcVar17 + 0x241770))" ( (pointer_expression "**(code **)(pcVar17 + 0x241770)" * (pointer_expression "*(code **)(pcVar17 + 0x241770)" * (cast_expression "(code **)(pcVar17 + 0x241770)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x241770)" ( (binary_expression "pcVar17 + 0x241770" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar17 + 0x241618) + -0x6bc8)" ( (binary_expression "*(int *)(pcVar17 + 0x241760) + -0x4fe0" (pointer_expression "*(int *)(pcVar17 + 0x241760)" * (cast_expression "(int *)(pcVar17 + 0x241760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x241760)" ( (binary_expression "pcVar17 + 0x241760" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x241618) + -0x6bc8" (pointer_expression "*(int *)(pcVar17 + 0x241618)" * (cast_expression "(int *)(pcVar17 + 0x241618)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x241618)" ( (binary_expression "pcVar17 + 0x241618" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_001f0d20;" goto statement_identifier ;) })) (expression_statement "uVar4 = *(uint *)(iVar11 + 0x14) + *(int *)(iVar11 + 0x1c);" (assignment_expression "uVar4 = *(uint *)(iVar11 + 0x14) + *(int *)(iVar11 + 0x1c)" identifier = (binary_expression "*(uint *)(iVar11 + 0x14) + *(int *)(iVar11 + 0x1c)" (pointer_expression "*(uint *)(iVar11 + 0x14)" * (cast_expression "(uint *)(iVar11 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar11 + 0x1c)" * (cast_expression "(int *)(iVar11 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1c)" ( (binary_expression "iVar11 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "iVar8 = (uint)(uVar4 < *(uint *)(iVar11 + 0x14)) + (int)puVar13;" (assignment_expression "iVar8 = (uint)(uVar4 < *(uint *)(iVar11 + 0x14)) + (int)puVar13" identifier = (binary_expression "(uint)(uVar4 < *(uint *)(iVar11 + 0x14)) + (int)puVar13" (call_expression "(uint)(uVar4 < *(uint *)(iVar11 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 < *(uint *)(iVar11 + 0x14))" ( (binary_expression "uVar4 < *(uint *)(iVar11 + 0x14)" identifier < (pointer_expression "*(uint *)(iVar11 + 0x14)" * (cast_expression "(uint *)(iVar11 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) ))))) ))) + (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar13 = (undefined4 *)(uint)(*(int *)(iVar14 + 8) < iVar8);" (assignment_expression "puVar13 = (undefined4 *)(uint)(*(int *)(iVar14 + 8) < iVar8)" identifier = (cast_expression "(undefined4 *)(uint)(*(int *)(iVar14 + 8) < iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(int *)(iVar14 + 8) < iVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar14 + 8) < iVar8)" ( (binary_expression "*(int *)(iVar14 + 8) < iVar8" (pointer_expression "*(int *)(iVar14 + 8)" * (cast_expression "(int *)(iVar14 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 8)" ( (binary_expression "iVar14 + 8" identifier + number_literal) )))) < identifier) ))))) ;) (if_statement "if ((puVar13 != (undefined4 *)0x0) ||\n       ((*(int *)(iVar14 + 8) == iVar8 && (*(uint *)(iVar14 + 0xc) < uVar4)))) goto LAB_001f0d04;" if (parenthesized_expression "((puVar13 != (undefined4 *)0x0) ||\n       ((*(int *)(iVar14 + 8) == iVar8 && (*(uint *)(iVar14 + 0xc) < uVar4))))" ( (binary_expression "(puVar13 != (undefined4 *)0x0) ||\n       ((*(int *)(iVar14 + 8) == iVar8 && (*(uint *)(iVar14 + 0xc) < uVar4)))" (parenthesized_expression "(puVar13 != (undefined4 *)0x0)" ( (binary_expression "puVar13 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((*(int *)(iVar14 + 8) == iVar8 && (*(uint *)(iVar14 + 0xc) < uVar4)))" ( (parenthesized_expression "(*(int *)(iVar14 + 8) == iVar8 && (*(uint *)(iVar14 + 0xc) < uVar4))" ( (binary_expression "*(int *)(iVar14 + 8) == iVar8 && (*(uint *)(iVar14 + 0xc) < uVar4)" (binary_expression "*(int *)(iVar14 + 8) == iVar8" (pointer_expression "*(int *)(iVar14 + 8)" * (cast_expression "(int *)(iVar14 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 8)" ( (binary_expression "iVar14 + 8" identifier + number_literal) )))) == identifier) && (parenthesized_expression "(*(uint *)(iVar14 + 0xc) < uVar4)" ( (binary_expression "*(uint *)(iVar14 + 0xc) < uVar4" (pointer_expression "*(uint *)(iVar14 + 0xc)" * (cast_expression "(uint *)(iVar14 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xc)" ( (binary_expression "iVar14 + 0xc" identifier + number_literal) )))) < identifier) ))) )) ))) )) (goto_statement "goto LAB_001f0d04;" goto statement_identifier ;)) (expression_statement "this_00 = (Output_section *)(*(int *)(iVar14 + 0x10) + *(int *)(iVar11 + 0x1c));" (assignment_expression "this_00 = (Output_section *)(*(int *)(iVar14 + 0x10) + *(int *)(iVar11 + 0x1c))" identifier = (cast_expression "(Output_section *)(*(int *)(iVar14 + 0x10) + *(int *)(iVar11 + 0x1c))" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar14 + 0x10) + *(int *)(iVar11 + 0x1c))" ( (binary_expression "*(int *)(iVar14 + 0x10) + *(int *)(iVar11 + 0x1c)" (pointer_expression "*(int *)(iVar14 + 0x10)" * (cast_expression "(int *)(iVar14 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x10)" ( (binary_expression "iVar14 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar11 + 0x1c)" * (cast_expression "(int *)(iVar11 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1c)" ( (binary_expression "iVar11 + 0x1c" identifier + number_literal) ))))) )))) ;) (if_statement "if (*(char *)(iVar11 + 0x128) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0cec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      psVar6 = (string *)(**(code **)(pcVar17 + 0x245b34))(this_00,*(undefined4 *)(iVar11 + 0xfc));\n      return psVar6;\n    }" if (parenthesized_expression "(*(char *)(iVar11 + 0x128) == '\0')" ( (binary_expression "*(char *)(iVar11 + 0x128) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x128)" * (cast_expression "(char *)(iVar11 + 0x128)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001f0cec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      psVar6 = (string *)(**(code **)(pcVar17 + 0x245b34))(this_00,*(undefined4 *)(iVar11 + 0xfc));\n      return psVar6;\n    }" { comment comment (expression_statement "psVar6 = (string *)(**(code **)(pcVar17 + 0x245b34))(this_00,*(undefined4 *)(iVar11 + 0xfc));" (assignment_expression "psVar6 = (string *)(**(code **)(pcVar17 + 0x245b34))(this_00,*(undefined4 *)(iVar11 + 0xfc))" identifier = (cast_expression "(string *)(**(code **)(pcVar17 + 0x245b34))(this_00,*(undefined4 *)(iVar11 + 0xfc))" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar17 + 0x245b34))(this_00,*(undefined4 *)(iVar11 + 0xfc))" (parenthesized_expression "(**(code **)(pcVar17 + 0x245b34))" ( (pointer_expression "**(code **)(pcVar17 + 0x245b34)" * (pointer_expression "*(code **)(pcVar17 + 0x245b34)" * (cast_expression "(code **)(pcVar17 + 0x245b34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x245b34)" ( (binary_expression "pcVar17 + 0x245b34" identifier + number_literal) ))))) )) (argument_list "(this_00,*(undefined4 *)(iVar11 + 0xfc))" ( identifier , (pointer_expression "*(undefined4 *)(iVar11 + 0xfc)" * (cast_expression "(undefined4 *)(iVar11 + 0xfc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xfc)" ( (binary_expression "iVar11 + 0xfc" identifier + number_literal) )))) ))))) ;) (return_statement "return psVar6;" return identifier ;) })) (expression_statement "iVar11 = *(int *)(iVar11 + 0x94);" (assignment_expression "iVar11 = *(int *)(iVar11 + 0x94)" identifier = (pointer_expression "*(int *)(iVar11 + 0x94)" * (cast_expression "(int *)(iVar11 + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x94)" ( (binary_expression "iVar11 + 0x94" identifier + number_literal) ))))) ;) (if_statement "if (iVar11 != 0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0cd8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      psVar6 = (string *)(**(code **)(pcVar17 + 0x245b34))();\n      return psVar6;\n    }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001f0cd8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      psVar6 = (string *)(**(code **)(pcVar17 + 0x245b34))();\n      return psVar6;\n    }" { comment comment (expression_statement "psVar6 = (string *)(**(code **)(pcVar17 + 0x245b34))();" (assignment_expression "psVar6 = (string *)(**(code **)(pcVar17 + 0x245b34))()" identifier = (cast_expression "(string *)(**(code **)(pcVar17 + 0x245b34))()" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar17 + 0x245b34))()" (parenthesized_expression "(**(code **)(pcVar17 + 0x245b34))" ( (pointer_expression "**(code **)(pcVar17 + 0x245b34)" * (pointer_expression "*(code **)(pcVar17 + 0x245b34)" * (cast_expression "(code **)(pcVar17 + 0x245b34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x245b34)" ( (binary_expression "pcVar17 + 0x245b34" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (return_statement "return psVar6;" return identifier ;) })) }) (else_clause "else {\nLAB_001f0d3c:\n    iVar11 = 0xe3;\n    this_00 = (Output_section *)(*(int *)(pcVar17 + 0x241760) + -0x4fe0);\n    (**(code **)(pcVar17 + 0x241770))(this_00,0xe3,*(int *)(pcVar17 + 0x241618) + -0x6bac);\n  }" else (compound_statement "{\nLAB_001f0d3c:\n    iVar11 = 0xe3;\n    this_00 = (Output_section *)(*(int *)(pcVar17 + 0x241760) + -0x4fe0);\n    (**(code **)(pcVar17 + 0x241770))(this_00,0xe3,*(int *)(pcVar17 + 0x241618) + -0x6bac);\n  }" { (labeled_statement "LAB_001f0d3c:\n    iVar11 = 0xe3;" statement_identifier : (expression_statement "iVar11 = 0xe3;" (assignment_expression "iVar11 = 0xe3" identifier = number_literal) ;)) (expression_statement "this_00 = (Output_section *)(*(int *)(pcVar17 + 0x241760) + -0x4fe0);" (assignment_expression "this_00 = (Output_section *)(*(int *)(pcVar17 + 0x241760) + -0x4fe0)" identifier = (cast_expression "(Output_section *)(*(int *)(pcVar17 + 0x241760) + -0x4fe0)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar17 + 0x241760) + -0x4fe0)" ( (binary_expression "*(int *)(pcVar17 + 0x241760) + -0x4fe0" (pointer_expression "*(int *)(pcVar17 + 0x241760)" * (cast_expression "(int *)(pcVar17 + 0x241760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x241760)" ( (binary_expression "pcVar17 + 0x241760" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x241770))(this_00,0xe3,*(int *)(pcVar17 + 0x241618) + -0x6bac);" (call_expression "(**(code **)(pcVar17 + 0x241770))(this_00,0xe3,*(int *)(pcVar17 + 0x241618) + -0x6bac)" (parenthesized_expression "(**(code **)(pcVar17 + 0x241770))" ( (pointer_expression "**(code **)(pcVar17 + 0x241770)" * (pointer_expression "*(code **)(pcVar17 + 0x241770)" * (cast_expression "(code **)(pcVar17 + 0x241770)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x241770)" ( (binary_expression "pcVar17 + 0x241770" identifier + number_literal) ))))) )) (argument_list "(this_00,0xe3,*(int *)(pcVar17 + 0x241618) + -0x6bac)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar17 + 0x241618) + -0x6bac" (pointer_expression "*(int *)(pcVar17 + 0x241618)" * (cast_expression "(int *)(pcVar17 + 0x241618)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x241618)" ( (binary_expression "pcVar17 + 0x241618" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "iVar8 = *(int *)(pcVar17 + 0x2440c0) + 0xc20;" (assignment_expression "iVar8 = *(int *)(pcVar17 + 0x2440c0) + 0xc20" identifier = (binary_expression "*(int *)(pcVar17 + 0x2440c0) + 0xc20" (pointer_expression "*(int *)(pcVar17 + 0x2440c0)" * (cast_expression "(int *)(pcVar17 + 0x2440c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2440c0)" ( (binary_expression "pcVar17 + 0x2440c0" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "Output_section::postprocessing_buffer(this_00);" statement_identifier : (ERROR ":" :) (expression_statement "postprocessing_buffer(this_00);" (call_expression "postprocessing_buffer(this_00)" identifier (argument_list "(this_00)" ( identifier ))) ;)) (expression_statement "iVar14 = *(int *)&(this_00->super_Output_data).field_0x20;" (assignment_expression "iVar14 = *(int *)&(this_00->super_Output_data).field_0x20" identifier = (pointer_expression "*(int *)&(this_00->super_Output_data).field_0x20" * (cast_expression "(int *)&(this_00->super_Output_data).field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this_00->super_Output_data).field_0x20" & (field_expression "(this_00->super_Output_data).field_0x20" (parenthesized_expression "(this_00->super_Output_data)" ( (field_expression "this_00->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) ;) (if_statement "if (iVar14 << 2 < 0) {\n    puVar13 = *(undefined4 **)&(this_00->super_Output_data).offset_;\n    iVar15 = (int)(this_00->super_Output_data).offset_;\n    if (iVar14 << 1 < 0) {\n      pbVar12 = *(byte **)((int)&(this_00->super_Output_data).data_size_ + 4);\n      if (-1 < (int)puVar13) {\n        iVar14 = (uint)(pbVar12 + iVar15 < pbVar12) + (int)puVar13;\n        puVar13 = (undefined4 *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n        if ((puVar13 == (undefined4 *)0x0) &&\n           ((*(int *)(iVar11 + 8) != iVar14 || (pbVar12 + iVar15 <= *(byte **)(iVar11 + 0xc))))) {\n          this_01 = (Output_section *)(*(int *)(iVar11 + 0x10) + iVar15);\n          if (*(char *)((int)&this_00[1].super_Output_data.address_ + 4) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)\n                     (**(code **)(iVar8 + 0x245a20))(this_01,*(undefined4 *)&this_00->field_0xfc);\n            return psVar6;\n          }\n          puVar10 = this_00->postprocessing_buffer_;\n          if (puVar10 != (uchar *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)(**(code **)(iVar8 + 0x245a20))();\n            return psVar6;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar8 + 0x24165c))\n                (*(int *)(iVar8 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar8 + 0x241504) + -0x6bc8);\n    }\n    (**(code **)(iVar8 + 0x24165c))\n              (*(int *)(iVar8 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar8 + 0x241504) + -0x6bb8);\n  }" if (parenthesized_expression "(iVar14 << 2 < 0)" ( (binary_expression "iVar14 << 2 < 0" (binary_expression "iVar14 << 2" identifier << number_literal) < number_literal) )) (compound_statement "{\n    puVar13 = *(undefined4 **)&(this_00->super_Output_data).offset_;\n    iVar15 = (int)(this_00->super_Output_data).offset_;\n    if (iVar14 << 1 < 0) {\n      pbVar12 = *(byte **)((int)&(this_00->super_Output_data).data_size_ + 4);\n      if (-1 < (int)puVar13) {\n        iVar14 = (uint)(pbVar12 + iVar15 < pbVar12) + (int)puVar13;\n        puVar13 = (undefined4 *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n        if ((puVar13 == (undefined4 *)0x0) &&\n           ((*(int *)(iVar11 + 8) != iVar14 || (pbVar12 + iVar15 <= *(byte **)(iVar11 + 0xc))))) {\n          this_01 = (Output_section *)(*(int *)(iVar11 + 0x10) + iVar15);\n          if (*(char *)((int)&this_00[1].super_Output_data.address_ + 4) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)\n                     (**(code **)(iVar8 + 0x245a20))(this_01,*(undefined4 *)&this_00->field_0xfc);\n            return psVar6;\n          }\n          puVar10 = this_00->postprocessing_buffer_;\n          if (puVar10 != (uchar *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)(**(code **)(iVar8 + 0x245a20))();\n            return psVar6;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar8 + 0x24165c))\n                (*(int *)(iVar8 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar8 + 0x241504) + -0x6bc8);\n    }\n    (**(code **)(iVar8 + 0x24165c))\n              (*(int *)(iVar8 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar8 + 0x241504) + -0x6bb8);\n  }" { (expression_statement "puVar13 = *(undefined4 **)&(this_00->super_Output_data).offset_;" (assignment_expression "puVar13 = *(undefined4 **)&(this_00->super_Output_data).offset_" identifier = (pointer_expression "*(undefined4 **)&(this_00->super_Output_data).offset_" * (cast_expression "(undefined4 **)&(this_00->super_Output_data).offset_" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(this_00->super_Output_data).offset_" & (field_expression "(this_00->super_Output_data).offset_" (parenthesized_expression "(this_00->super_Output_data)" ( (field_expression "this_00->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "iVar15 = (int)(this_00->super_Output_data).offset_;" (assignment_expression "iVar15 = (int)(this_00->super_Output_data).offset_" identifier = (cast_expression "(int)(this_00->super_Output_data).offset_" ( (type_descriptor "int" primitive_type) ) (field_expression "(this_00->super_Output_data).offset_" (parenthesized_expression "(this_00->super_Output_data)" ( (field_expression "this_00->super_Output_data" identifier -> field_identifier) )) . field_identifier))) ;) (if_statement "if (iVar14 << 1 < 0) {\n      pbVar12 = *(byte **)((int)&(this_00->super_Output_data).data_size_ + 4);\n      if (-1 < (int)puVar13) {\n        iVar14 = (uint)(pbVar12 + iVar15 < pbVar12) + (int)puVar13;\n        puVar13 = (undefined4 *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n        if ((puVar13 == (undefined4 *)0x0) &&\n           ((*(int *)(iVar11 + 8) != iVar14 || (pbVar12 + iVar15 <= *(byte **)(iVar11 + 0xc))))) {\n          this_01 = (Output_section *)(*(int *)(iVar11 + 0x10) + iVar15);\n          if (*(char *)((int)&this_00[1].super_Output_data.address_ + 4) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)\n                     (**(code **)(iVar8 + 0x245a20))(this_01,*(undefined4 *)&this_00->field_0xfc);\n            return psVar6;\n          }\n          puVar10 = this_00->postprocessing_buffer_;\n          if (puVar10 != (uchar *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)(**(code **)(iVar8 + 0x245a20))();\n            return psVar6;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar8 + 0x24165c))\n                (*(int *)(iVar8 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar8 + 0x241504) + -0x6bc8);\n    }" if (parenthesized_expression "(iVar14 << 1 < 0)" ( (binary_expression "iVar14 << 1 < 0" (binary_expression "iVar14 << 1" identifier << number_literal) < number_literal) )) (compound_statement "{\n      pbVar12 = *(byte **)((int)&(this_00->super_Output_data).data_size_ + 4);\n      if (-1 < (int)puVar13) {\n        iVar14 = (uint)(pbVar12 + iVar15 < pbVar12) + (int)puVar13;\n        puVar13 = (undefined4 *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n        if ((puVar13 == (undefined4 *)0x0) &&\n           ((*(int *)(iVar11 + 8) != iVar14 || (pbVar12 + iVar15 <= *(byte **)(iVar11 + 0xc))))) {\n          this_01 = (Output_section *)(*(int *)(iVar11 + 0x10) + iVar15);\n          if (*(char *)((int)&this_00[1].super_Output_data.address_ + 4) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)\n                     (**(code **)(iVar8 + 0x245a20))(this_01,*(undefined4 *)&this_00->field_0xfc);\n            return psVar6;\n          }\n          puVar10 = this_00->postprocessing_buffer_;\n          if (puVar10 != (uchar *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)(**(code **)(iVar8 + 0x245a20))();\n            return psVar6;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar8 + 0x24165c))\n                (*(int *)(iVar8 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar8 + 0x241504) + -0x6bc8);\n    }" { (expression_statement "pbVar12 = *(byte **)((int)&(this_00->super_Output_data).data_size_ + 4);" (assignment_expression "pbVar12 = *(byte **)((int)&(this_00->super_Output_data).data_size_ + 4)" identifier = (pointer_expression "*(byte **)((int)&(this_00->super_Output_data).data_size_ + 4)" * (cast_expression "(byte **)((int)&(this_00->super_Output_data).data_size_ + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&(this_00->super_Output_data).data_size_ + 4)" ( (binary_expression "(int)&(this_00->super_Output_data).data_size_ + 4" (cast_expression "(int)&(this_00->super_Output_data).data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this_00->super_Output_data).data_size_" & (field_expression "(this_00->super_Output_data).data_size_" (parenthesized_expression "(this_00->super_Output_data)" ( (field_expression "this_00->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (if_statement "if (-1 < (int)puVar13) {\n        iVar14 = (uint)(pbVar12 + iVar15 < pbVar12) + (int)puVar13;\n        puVar13 = (undefined4 *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n        if ((puVar13 == (undefined4 *)0x0) &&\n           ((*(int *)(iVar11 + 8) != iVar14 || (pbVar12 + iVar15 <= *(byte **)(iVar11 + 0xc))))) {\n          this_01 = (Output_section *)(*(int *)(iVar11 + 0x10) + iVar15);\n          if (*(char *)((int)&this_00[1].super_Output_data.address_ + 4) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)\n                     (**(code **)(iVar8 + 0x245a20))(this_01,*(undefined4 *)&this_00->field_0xfc);\n            return psVar6;\n          }\n          puVar10 = this_00->postprocessing_buffer_;\n          if (puVar10 != (uchar *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)(**(code **)(iVar8 + 0x245a20))();\n            return psVar6;\n          }\n          goto LAB_001f0e6c;\n        }\n      }" if (parenthesized_expression "(-1 < (int)puVar13)" ( (binary_expression "-1 < (int)puVar13" number_literal < (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        iVar14 = (uint)(pbVar12 + iVar15 < pbVar12) + (int)puVar13;\n        puVar13 = (undefined4 *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n        if ((puVar13 == (undefined4 *)0x0) &&\n           ((*(int *)(iVar11 + 8) != iVar14 || (pbVar12 + iVar15 <= *(byte **)(iVar11 + 0xc))))) {\n          this_01 = (Output_section *)(*(int *)(iVar11 + 0x10) + iVar15);\n          if (*(char *)((int)&this_00[1].super_Output_data.address_ + 4) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)\n                     (**(code **)(iVar8 + 0x245a20))(this_01,*(undefined4 *)&this_00->field_0xfc);\n            return psVar6;\n          }\n          puVar10 = this_00->postprocessing_buffer_;\n          if (puVar10 != (uchar *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)(**(code **)(iVar8 + 0x245a20))();\n            return psVar6;\n          }\n          goto LAB_001f0e6c;\n        }\n      }" { (expression_statement "iVar14 = (uint)(pbVar12 + iVar15 < pbVar12) + (int)puVar13;" (assignment_expression "iVar14 = (uint)(pbVar12 + iVar15 < pbVar12) + (int)puVar13" identifier = (binary_expression "(uint)(pbVar12 + iVar15 < pbVar12) + (int)puVar13" (call_expression "(uint)(pbVar12 + iVar15 < pbVar12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar12 + iVar15 < pbVar12)" ( (binary_expression "pbVar12 + iVar15 < pbVar12" (binary_expression "pbVar12 + iVar15" identifier + identifier) < identifier) ))) + (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar13 = (undefined4 *)(uint)(*(int *)(iVar11 + 8) < iVar14);" (assignment_expression "puVar13 = (undefined4 *)(uint)(*(int *)(iVar11 + 8) < iVar14)" identifier = (cast_expression "(undefined4 *)(uint)(*(int *)(iVar11 + 8) < iVar14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(int *)(iVar11 + 8) < iVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar11 + 8) < iVar14)" ( (binary_expression "*(int *)(iVar11 + 8) < iVar14" (pointer_expression "*(int *)(iVar11 + 8)" * (cast_expression "(int *)(iVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) )))) < identifier) ))))) ;) (if_statement "if ((puVar13 == (undefined4 *)0x0) &&\n           ((*(int *)(iVar11 + 8) != iVar14 || (pbVar12 + iVar15 <= *(byte **)(iVar11 + 0xc))))) {\n          this_01 = (Output_section *)(*(int *)(iVar11 + 0x10) + iVar15);\n          if (*(char *)((int)&this_00[1].super_Output_data.address_ + 4) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)\n                     (**(code **)(iVar8 + 0x245a20))(this_01,*(undefined4 *)&this_00->field_0xfc);\n            return psVar6;\n          }\n          puVar10 = this_00->postprocessing_buffer_;\n          if (puVar10 != (uchar *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)(**(code **)(iVar8 + 0x245a20))();\n            return psVar6;\n          }\n          goto LAB_001f0e6c;\n        }" if (parenthesized_expression "((puVar13 == (undefined4 *)0x0) &&\n           ((*(int *)(iVar11 + 8) != iVar14 || (pbVar12 + iVar15 <= *(byte **)(iVar11 + 0xc)))))" ( (binary_expression "(puVar13 == (undefined4 *)0x0) &&\n           ((*(int *)(iVar11 + 8) != iVar14 || (pbVar12 + iVar15 <= *(byte **)(iVar11 + 0xc))))" (parenthesized_expression "(puVar13 == (undefined4 *)0x0)" ( (binary_expression "puVar13 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(int *)(iVar11 + 8) != iVar14 || (pbVar12 + iVar15 <= *(byte **)(iVar11 + 0xc))))" ( (parenthesized_expression "(*(int *)(iVar11 + 8) != iVar14 || (pbVar12 + iVar15 <= *(byte **)(iVar11 + 0xc)))" ( (binary_expression "*(int *)(iVar11 + 8) != iVar14 || (pbVar12 + iVar15 <= *(byte **)(iVar11 + 0xc))" (binary_expression "*(int *)(iVar11 + 8) != iVar14" (pointer_expression "*(int *)(iVar11 + 8)" * (cast_expression "(int *)(iVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(pbVar12 + iVar15 <= *(byte **)(iVar11 + 0xc))" ( (binary_expression "pbVar12 + iVar15 <= *(byte **)(iVar11 + 0xc)" (binary_expression "pbVar12 + iVar15" identifier + identifier) <= (pointer_expression "*(byte **)(iVar11 + 0xc)" * (cast_expression "(byte **)(iVar11 + 0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0xc)" ( (binary_expression "iVar11 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n          this_01 = (Output_section *)(*(int *)(iVar11 + 0x10) + iVar15);\n          if (*(char *)((int)&this_00[1].super_Output_data.address_ + 4) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)\n                     (**(code **)(iVar8 + 0x245a20))(this_01,*(undefined4 *)&this_00->field_0xfc);\n            return psVar6;\n          }\n          puVar10 = this_00->postprocessing_buffer_;\n          if (puVar10 != (uchar *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)(**(code **)(iVar8 + 0x245a20))();\n            return psVar6;\n          }\n          goto LAB_001f0e6c;\n        }" { (expression_statement "this_01 = (Output_section *)(*(int *)(iVar11 + 0x10) + iVar15);" (assignment_expression "this_01 = (Output_section *)(*(int *)(iVar11 + 0x10) + iVar15)" identifier = (cast_expression "(Output_section *)(*(int *)(iVar11 + 0x10) + iVar15)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar11 + 0x10) + iVar15)" ( (binary_expression "*(int *)(iVar11 + 0x10) + iVar15" (pointer_expression "*(int *)(iVar11 + 0x10)" * (cast_expression "(int *)(iVar11 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) )))) + identifier) )))) ;) (if_statement "if (*(char *)((int)&this_00[1].super_Output_data.address_ + 4) == '\0') {\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)\n                     (**(code **)(iVar8 + 0x245a20))(this_01,*(undefined4 *)&this_00->field_0xfc);\n            return psVar6;\n          }" if (parenthesized_expression "(*(char *)((int)&this_00[1].super_Output_data.address_ + 4) == '\0')" ( (binary_expression "*(char *)((int)&this_00[1].super_Output_data.address_ + 4) == '\0'" (pointer_expression "*(char *)((int)&this_00[1].super_Output_data.address_ + 4)" * (cast_expression "(char *)((int)&this_00[1].super_Output_data.address_ + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_00[1].super_Output_data.address_ + 4)" ( (binary_expression "(int)&this_00[1].super_Output_data.address_ + 4" (cast_expression "(int)&this_00[1].super_Output_data.address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_00[1].super_Output_data.address_" & (field_expression "this_00[1].super_Output_data.address_" (field_expression "this_00[1].super_Output_data" (subscript_expression "this_00[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)\n                     (**(code **)(iVar8 + 0x245a20))(this_01,*(undefined4 *)&this_00->field_0xfc);\n            return psVar6;\n          }" { comment comment (expression_statement "psVar6 = (string *)\n                     (**(code **)(iVar8 + 0x245a20))(this_01,*(undefined4 *)&this_00->field_0xfc);" (assignment_expression "psVar6 = (string *)\n                     (**(code **)(iVar8 + 0x245a20))(this_01,*(undefined4 *)&this_00->field_0xfc)" identifier = (cast_expression "(string *)\n                     (**(code **)(iVar8 + 0x245a20))(this_01,*(undefined4 *)&this_00->field_0xfc)" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(iVar8 + 0x245a20))(this_01,*(undefined4 *)&this_00->field_0xfc)" (parenthesized_expression "(**(code **)(iVar8 + 0x245a20))" ( (pointer_expression "**(code **)(iVar8 + 0x245a20)" * (pointer_expression "*(code **)(iVar8 + 0x245a20)" * (cast_expression "(code **)(iVar8 + 0x245a20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x245a20)" ( (binary_expression "iVar8 + 0x245a20" identifier + number_literal) ))))) )) (argument_list "(this_01,*(undefined4 *)&this_00->field_0xfc)" ( identifier , (pointer_expression "*(undefined4 *)&this_00->field_0xfc" * (cast_expression "(undefined4 *)&this_00->field_0xfc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_00->field_0xfc" & (field_expression "this_00->field_0xfc" identifier -> field_identifier)))) ))))) ;) (return_statement "return psVar6;" return identifier ;) })) (expression_statement "puVar10 = this_00->postprocessing_buffer_;" (assignment_expression "puVar10 = this_00->postprocessing_buffer_" identifier = (field_expression "this_00->postprocessing_buffer_" identifier -> field_identifier)) ;) (if_statement "if (puVar10 != (uchar *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)(**(code **)(iVar8 + 0x245a20))();\n            return psVar6;\n          }" if (parenthesized_expression "(puVar10 != (uchar *)0x0)" ( (binary_expression "puVar10 != (uchar *)0x0" identifier != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            psVar6 = (string *)(**(code **)(iVar8 + 0x245a20))();\n            return psVar6;\n          }" { comment comment (expression_statement "psVar6 = (string *)(**(code **)(iVar8 + 0x245a20))();" (assignment_expression "psVar6 = (string *)(**(code **)(iVar8 + 0x245a20))()" identifier = (cast_expression "(string *)(**(code **)(iVar8 + 0x245a20))()" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(iVar8 + 0x245a20))()" (parenthesized_expression "(**(code **)(iVar8 + 0x245a20))" ( (pointer_expression "**(code **)(iVar8 + 0x245a20)" * (pointer_expression "*(code **)(iVar8 + 0x245a20)" * (cast_expression "(code **)(iVar8 + 0x245a20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x245a20)" ( (binary_expression "iVar8 + 0x245a20" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (return_statement "return psVar6;" return identifier ;) })) (goto_statement "goto LAB_001f0e6c;" goto statement_identifier ;) })) })) (expression_statement "(**(code **)(iVar8 + 0x24165c))\n                (*(int *)(iVar8 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar8 + 0x241504) + -0x6bc8);" (call_expression "(**(code **)(iVar8 + 0x24165c))\n                (*(int *)(iVar8 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar8 + 0x241504) + -0x6bc8)" (parenthesized_expression "(**(code **)(iVar8 + 0x24165c))" ( (pointer_expression "**(code **)(iVar8 + 0x24165c)" * (pointer_expression "*(code **)(iVar8 + 0x24165c)" * (cast_expression "(code **)(iVar8 + 0x24165c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x24165c)" ( (binary_expression "iVar8 + 0x24165c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar8 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar8 + 0x241504) + -0x6bc8)" ( (binary_expression "*(int *)(iVar8 + 0x24164c) + -0x4fe0" (pointer_expression "*(int *)(iVar8 + 0x24164c)" * (cast_expression "(int *)(iVar8 + 0x24164c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x24164c)" ( (binary_expression "iVar8 + 0x24164c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(iVar8 + 0x241504) + -0x6bc8" (pointer_expression "*(int *)(iVar8 + 0x241504)" * (cast_expression "(int *)(iVar8 + 0x241504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x241504)" ( (binary_expression "iVar8 + 0x241504" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(iVar8 + 0x24165c))\n              (*(int *)(iVar8 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar8 + 0x241504) + -0x6bb8);" (call_expression "(**(code **)(iVar8 + 0x24165c))\n              (*(int *)(iVar8 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar8 + 0x241504) + -0x6bb8)" (parenthesized_expression "(**(code **)(iVar8 + 0x24165c))" ( (pointer_expression "**(code **)(iVar8 + 0x24165c)" * (pointer_expression "*(code **)(iVar8 + 0x24165c)" * (cast_expression "(code **)(iVar8 + 0x24165c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x24165c)" ( (binary_expression "iVar8 + 0x24165c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar8 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar8 + 0x241504) + -0x6bb8)" ( (binary_expression "*(int *)(iVar8 + 0x24164c) + -0x4fe0" (pointer_expression "*(int *)(iVar8 + 0x24164c)" * (cast_expression "(int *)(iVar8 + 0x24164c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x24164c)" ( (binary_expression "iVar8 + 0x24164c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(iVar8 + 0x241504) + -0x6bb8" (pointer_expression "*(int *)(iVar8 + 0x241504)" * (cast_expression "(int *)(iVar8 + 0x241504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x241504)" ( (binary_expression "iVar8 + 0x241504" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "puVar10 = (uchar *)0xe3;" (assignment_expression "puVar10 = (uchar *)0xe3" identifier = (cast_expression "(uchar *)0xe3" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar12 = (byte *)(*(int *)(iVar8 + 0x241504) + -0x6bac);" (assignment_expression "pbVar12 = (byte *)(*(int *)(iVar8 + 0x241504) + -0x6bac)" identifier = (cast_expression "(byte *)(*(int *)(iVar8 + 0x241504) + -0x6bac)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar8 + 0x241504) + -0x6bac)" ( (binary_expression "*(int *)(iVar8 + 0x241504) + -0x6bac" (pointer_expression "*(int *)(iVar8 + 0x241504)" * (cast_expression "(int *)(iVar8 + 0x241504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x241504)" ( (binary_expression "iVar8 + 0x241504" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "this_01 = (Output_section *)(*(int *)(iVar8 + 0x24164c) + -0x4fe0);" (assignment_expression "this_01 = (Output_section *)(*(int *)(iVar8 + 0x24164c) + -0x4fe0)" identifier = (cast_expression "(Output_section *)(*(int *)(iVar8 + 0x24164c) + -0x4fe0)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar8 + 0x24164c) + -0x4fe0)" ( (binary_expression "*(int *)(iVar8 + 0x24164c) + -0x4fe0" (pointer_expression "*(int *)(iVar8 + 0x24164c)" * (cast_expression "(int *)(iVar8 + 0x24164c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x24164c)" ( (binary_expression "iVar8 + 0x24164c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(iVar8 + 0x24165c))();" (call_expression "(**(code **)(iVar8 + 0x24165c))()" (parenthesized_expression "(**(code **)(iVar8 + 0x24165c))" ( (pointer_expression "**(code **)(iVar8 + 0x24165c)" * (pointer_expression "*(code **)(iVar8 + 0x24165c)" * (cast_expression "(code **)(iVar8 + 0x24165c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x24165c)" ( (binary_expression "iVar8 + 0x24165c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_001f0e6c:\n  iVar14 = *(int *)(iVar8 + 0x243fac) + 0xc20;" statement_identifier : (expression_statement "iVar14 = *(int *)(iVar8 + 0x243fac) + 0xc20;" (assignment_expression "iVar14 = *(int *)(iVar8 + 0x243fac) + 0xc20" identifier = (binary_expression "*(int *)(iVar8 + 0x243fac) + 0xc20" (pointer_expression "*(int *)(iVar8 + 0x243fac)" * (cast_expression "(int *)(iVar8 + 0x243fac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x243fac)" ( (binary_expression "iVar8 + 0x243fac" identifier + number_literal) )))) + number_literal)) ;)) (labeled_statement "Output_section::postprocessing_buffer(this_01);" statement_identifier : (ERROR ":" :) (expression_statement "postprocessing_buffer(this_01);" (call_expression "postprocessing_buffer(this_01)" identifier (argument_list "(this_01)" ( identifier ))) ;)) (expression_statement "iVar11 = *(int *)(iVar14 + 0x2413f0);" (assignment_expression "iVar11 = *(int *)(iVar14 + 0x2413f0)" identifier = (pointer_expression "*(int *)(iVar14 + 0x2413f0)" * (cast_expression "(int *)(iVar14 + 0x2413f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x2413f0)" ( (binary_expression "iVar14 + 0x2413f0" identifier + number_literal) ))))) ;) (expression_statement "uStack_d8 = *(undefined4 *)(iVar14 + 0x243fec);" (assignment_expression "uStack_d8 = *(undefined4 *)(iVar14 + 0x243fec)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0x243fec)" * (cast_expression "(undefined4 *)(iVar14 + 0x243fec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x243fec)" ( (binary_expression "iVar14 + 0x243fec" identifier + number_literal) ))))) ;) (expression_statement "bVar1 = *pbVar12;" (assignment_expression "bVar1 = *pbVar12" identifier = (pointer_expression "*pbVar12" * identifier)) ;) (expression_statement "puStack_d0 = puVar9;" (assignment_expression "puStack_d0 = puVar9" identifier = identifier) ;) (expression_statement "puStack_cc = auStack_28;" (assignment_expression "puStack_cc = auStack_28" identifier = identifier) ;) (expression_statement "ppuStack_c8 = &local_30;" (assignment_expression "ppuStack_c8 = &local_30" identifier = (pointer_expression "&local_30" & identifier)) ;) (expression_statement "iStack_c4 = iVar3;" (assignment_expression "iStack_c4 = iVar3" identifier = identifier) ;) (if_statement "if ((char)bVar1 < '\0') {\n    uVar18 = (**(code **)(iVar14 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);\n    bVar2 = pbVar12[aiStack_e0[0]];\n    pbVar12 = pbVar12 + aiStack_e0[0] + 1;\n  }\n  else {\n    bVar2 = pbVar12[1];\n    uVar18 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar18 = (**(code **)(iVar14 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);\n    bVar2 = pbVar12[aiStack_e0[0]];\n    pbVar12 = pbVar12 + aiStack_e0[0] + 1;\n  }" { (expression_statement "uVar18 = (**(code **)(iVar14 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);" (assignment_expression "uVar18 = (**(code **)(iVar14 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1)" identifier = (call_expression "(**(code **)(iVar14 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1)" (parenthesized_expression "(**(code **)(iVar14 + 0x241cf8))" ( (pointer_expression "**(code **)(iVar14 + 0x241cf8)" * (pointer_expression "*(code **)(iVar14 + 0x241cf8)" * (cast_expression "(code **)(iVar14 + 0x241cf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x241cf8)" ( (binary_expression "iVar14 + 0x241cf8" identifier + number_literal) ))))) )) (argument_list "(pbVar12 + 1,aiStack_e0,(uint)bVar1)" ( (binary_expression "pbVar12 + 1" identifier + number_literal) , identifier , (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "bVar2 = pbVar12[aiStack_e0[0]];" (assignment_expression "bVar2 = pbVar12[aiStack_e0[0]]" identifier = (subscript_expression "pbVar12[aiStack_e0[0]]" identifier [ (subscript_expression "aiStack_e0[0]" identifier [ number_literal ]) ])) ;) (expression_statement "pbVar12 = pbVar12 + aiStack_e0[0] + 1;" (assignment_expression "pbVar12 = pbVar12 + aiStack_e0[0] + 1" identifier = (binary_expression "pbVar12 + aiStack_e0[0] + 1" (binary_expression "pbVar12 + aiStack_e0[0]" identifier + (subscript_expression "aiStack_e0[0]" identifier [ number_literal ])) + number_literal)) ;) }) (else_clause "else {\n    bVar2 = pbVar12[1];\n    uVar18 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }" else (compound_statement "{\n    bVar2 = pbVar12[1];\n    uVar18 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }" { (expression_statement "bVar2 = pbVar12[1];" (assignment_expression "bVar2 = pbVar12[1]" identifier = (subscript_expression "pbVar12[1]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = (ulonglong)(uint)bVar1;" (assignment_expression "uVar18 = (ulonglong)(uint)bVar1" identifier = (cast_expression "(ulonglong)(uint)bVar1" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "aiStack_e0[0] = 1;" (assignment_expression "aiStack_e0[0] = 1" (subscript_expression "aiStack_e0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar12 = pbVar12 + 2;" (assignment_expression "pbVar12 = pbVar12 + 2" identifier = (binary_expression "pbVar12 + 2" identifier + number_literal)) ;) }))) (expression_statement "uVar4 = (uint)bVar2;" (assignment_expression "uVar4 = (uint)bVar2" identifier = (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((char)bVar2 < '\0') {\n    (**(code **)(iVar14 + 0x241cf8))(pbVar12,aiStack_e0,uVar4);\n    uVar4 = extraout_v1;\n  }\n  else {\n    aiStack_e0[0] = 1;\n  }" if (parenthesized_expression "((char)bVar2 < '\0')" ( (binary_expression "(char)bVar2 < '\0'" (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    (**(code **)(iVar14 + 0x241cf8))(pbVar12,aiStack_e0,uVar4);\n    uVar4 = extraout_v1;\n  }" { (expression_statement "(**(code **)(iVar14 + 0x241cf8))(pbVar12,aiStack_e0,uVar4);" (call_expression "(**(code **)(iVar14 + 0x241cf8))(pbVar12,aiStack_e0,uVar4)" (parenthesized_expression "(**(code **)(iVar14 + 0x241cf8))" ( (pointer_expression "**(code **)(iVar14 + 0x241cf8)" * (pointer_expression "*(code **)(iVar14 + 0x241cf8)" * (cast_expression "(code **)(iVar14 + 0x241cf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x241cf8)" ( (binary_expression "iVar14 + 0x241cf8" identifier + number_literal) ))))) )) (argument_list "(pbVar12,aiStack_e0,uVar4)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar4 = extraout_v1;" (assignment_expression "uVar4 = extraout_v1" identifier = identifier) ;) }) (else_clause "else {\n    aiStack_e0[0] = 1;\n  }" else (compound_statement "{\n    aiStack_e0[0] = 1;\n  }" { (expression_statement "aiStack_e0[0] = 1;" (assignment_expression "aiStack_e0[0] = 1" (subscript_expression "aiStack_e0[0]" identifier [ number_literal ]) = number_literal) ;) }))) (if_statement "if ((uVar18 == 0) && (uVar4 == 0)) {\n    *puVar13 = puVar10;\n    return (string *)0x1;\n  }" if (parenthesized_expression "((uVar18 == 0) && (uVar4 == 0))" ( (binary_expression "(uVar18 == 0) && (uVar4 == 0)" (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) && (parenthesized_expression "(uVar4 == 0)" ( (binary_expression "uVar4 == 0" identifier == number_literal) ))) )) (compound_statement "{\n    *puVar13 = puVar10;\n    return (string *)0x1;\n  }" { (expression_statement "*puVar13 = puVar10;" (assignment_expression "*puVar13 = puVar10" (pointer_expression "*puVar13" * identifier) = identifier) ;) (return_statement "return (string *)0x1;" return (cast_expression "(string *)0x1" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if ((puVar10 < (uchar *)(iVar8 + 0x249468)) && (uVar4 < 0x21)) {\n                    /* WARNING: Could not recover jumptable at 0x001f0f5c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    psVar6 = (string *)(*(code *)(*(int *)(iVar11 + -0x6c80 + uVar4 * 4) + iVar14 + 0x249354))();\n    return psVar6;\n  }" if (parenthesized_expression "((puVar10 < (uchar *)(iVar8 + 0x249468)) && (uVar4 < 0x21))" ( (binary_expression "(puVar10 < (uchar *)(iVar8 + 0x249468)) && (uVar4 < 0x21)" (parenthesized_expression "(puVar10 < (uchar *)(iVar8 + 0x249468))" ( (binary_expression "puVar10 < (uchar *)(iVar8 + 0x249468)" identifier < (cast_expression "(uchar *)(iVar8 + 0x249468)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x249468)" ( (binary_expression "iVar8 + 0x249468" identifier + number_literal) )))) )) && (parenthesized_expression "(uVar4 < 0x21)" ( (binary_expression "uVar4 < 0x21" identifier < number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001f0f5c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    psVar6 = (string *)(*(code *)(*(int *)(iVar11 + -0x6c80 + uVar4 * 4) + iVar14 + 0x249354))();\n    return psVar6;\n  }" { comment comment (expression_statement "psVar6 = (string *)(*(code *)(*(int *)(iVar11 + -0x6c80 + uVar4 * 4) + iVar14 + 0x249354))();" (assignment_expression "psVar6 = (string *)(*(code *)(*(int *)(iVar11 + -0x6c80 + uVar4 * 4) + iVar14 + 0x249354))()" identifier = (cast_expression "(string *)(*(code *)(*(int *)(iVar11 + -0x6c80 + uVar4 * 4) + iVar14 + 0x249354))()" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(iVar11 + -0x6c80 + uVar4 * 4) + iVar14 + 0x249354))()" (parenthesized_expression "(*(code *)(*(int *)(iVar11 + -0x6c80 + uVar4 * 4) + iVar14 + 0x249354))" ( (pointer_expression "*(code *)(*(int *)(iVar11 + -0x6c80 + uVar4 * 4) + iVar14 + 0x249354)" * (cast_expression "(code *)(*(int *)(iVar11 + -0x6c80 + uVar4 * 4) + iVar14 + 0x249354)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar11 + -0x6c80 + uVar4 * 4) + iVar14 + 0x249354)" ( (binary_expression "*(int *)(iVar11 + -0x6c80 + uVar4 * 4) + iVar14 + 0x249354" (binary_expression "*(int *)(iVar11 + -0x6c80 + uVar4 * 4) + iVar14" (pointer_expression "*(int *)(iVar11 + -0x6c80 + uVar4 * 4)" * (cast_expression "(int *)(iVar11 + -0x6c80 + uVar4 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + -0x6c80 + uVar4 * 4)" ( (binary_expression "iVar11 + -0x6c80 + uVar4 * 4" (binary_expression "iVar11 + -0x6c80" identifier + number_literal) + (binary_expression "uVar4 * 4" identifier * number_literal)) )))) + identifier) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return psVar6;" return identifier ;) })) (return_statement "return (string *)0x0;" return (cast_expression "(string *)0x0" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) }))
(translation_unit "int * FUN_001f0a70(int *param_1,int param_2)\n\n{\n  byte bVar1;\n  byte bVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  int *piVar5;\n  int *piVar6;\n  int iVar7;\n  uint uVar8;\n  uint extraout_v1;\n  undefined *puVar9;\n  int iVar10;\n  int iVar11;\n  byte *pbVar12;\n  uint *puVar13;\n  int iVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  ulonglong uVar17;\n  int aiStack_e0 [2];\n  undefined4 uStack_d8;\n  undefined *puStack_d0;\n  undefined1 *puStack_cc;\n  undefined1 **ppuStack_c8;\n  undefined4 uStack_c4;\n  undefined1 *local_30;\n  int local_2c;\n  undefined1 auStack_28 [20];\n  \n  puVar13 = (uint *)0x0;\n  local_30 = auStack_28;\n  (*(code *)PTR__M_construct<char_const*>_00432488)\n            (&local_30,PTR_DAT_0043226c + -0x6e10,PTR_DAT_0043226c + -0x6e03);\n                    \n  uVar3 = (**(code **)(**(int **)(param_2 + 0x48) + 8))(*(int **)(param_2 + 0x48));\n  uVar4 = (*(code *)PTR_strlen_0043677c)(uVar3);\n  if (uVar4 <= 0x7fffffffU - local_2c) {\n    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4);\n    piVar6 = piVar5 + 2;\n    *param_1 = (int)(param_1 + 2);\n    if ((int *)*piVar5 == piVar6) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }\n    else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }\n    param_1[1] = piVar5[1];\n    *piVar5 = (int)piVar6;\n    piVar5[1] = 0;\n    *(undefined1 *)(piVar5 + 2) = 0;\n    if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    return param_1;\n  }\n  puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240;\n  (*(code *)PTR___throw_length_error_00432480)();\n                    \n  if (local_30 != auStack_28) {\n    (*(code *)PTR_operator_delete_0043228c)(local_30);\n  }\n  puVar15 = PTR_FUN_00432258;\n  (*(code *)PTR_FUN_00432258)(puVar9);\n  iVar11 = 0xe34;\n  pcVar16 = *(code **)(puVar15 + 0x2417a4);\n  iVar10 = *(int *)(puVar15 + 0x241794) + -0x4fe0;\n  (*pcVar16)(iVar10,0xe34,*(int *)(puVar15 + 0x24164c) + -0x6b94);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar10 + 0x18);\n    if (-1 < *(int *)(iVar10 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }\n    if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }\n    uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n    iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13;\n    puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n    if ((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))) goto LAB_001f0d04;\n    iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c);\n    if (*(char *)(iVar10 + 0x128) == '\0') {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }\n    iVar10 = *(int *)(iVar10 + 0x94);\n    if (iVar10 != 0) {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }\n  }\n  else {\nLAB_001f0d3c:\n    iVar10 = 0xe3;\n    iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;\n    (**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);\n  }\n  iVar14 = *(int *)(pcVar16 + 0x2440c0) + 0xc20;\n  FUN_001f0c20();\n  if (*(int *)(iVar11 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar11 + 0x18);\n    if (*(int *)(iVar11 + 0x20) << 1 < 0) {\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }\n    (**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8);\n  }\n  uVar4 = 0xe3;\n  pbVar12 = (byte *)(*(int *)(iVar14 + 0x241504) + -0x6bac);\n  (**(code **)(iVar14 + 0x24165c))(*(int *)(iVar14 + 0x24164c) + -0x4fe0);\nLAB_001f0e6c:\n  iVar11 = *(int *)(iVar14 + 0x243fac) + 0xc20;\n  FUN_001f0c20();\n  iVar10 = *(int *)(iVar11 + 0x2413f0);\n  uStack_d8 = *(undefined4 *)(iVar11 + 0x243fec);\n  bVar1 = *pbVar12;\n  puStack_d0 = puVar9;\n  puStack_cc = auStack_28;\n  ppuStack_c8 = &local_30;\n  uStack_c4 = uVar3;\n  if ((char)bVar1 < '\0') {\n    uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);\n    bVar2 = pbVar12[aiStack_e0[0]];\n    pbVar12 = pbVar12 + aiStack_e0[0] + 1;\n  }\n  else {\n    bVar2 = pbVar12[1];\n    uVar17 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }\n  uVar8 = (uint)bVar2;\n  if ((char)bVar2 < '\0') {\n    (**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8);\n    uVar8 = extraout_v1;\n  }\n  else {\n    aiStack_e0[0] = 1;\n  }\n  if ((uVar17 == 0) && (uVar8 == 0)) {\n    *puVar13 = uVar4;\n    return (int *)0x1;\n  }\n  if ((uVar4 < iVar14 + 0x249468U) && (uVar8 < 0x21)) {\n                    \n                    \n    piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))();\n    return piVar5;\n  }\n  return (int *)0x0;\n}\n\n" (function_definition "int * FUN_001f0a70(int *param_1,int param_2)\n\n{\n  byte bVar1;\n  byte bVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  int *piVar5;\n  int *piVar6;\n  int iVar7;\n  uint uVar8;\n  uint extraout_v1;\n  undefined *puVar9;\n  int iVar10;\n  int iVar11;\n  byte *pbVar12;\n  uint *puVar13;\n  int iVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  ulonglong uVar17;\n  int aiStack_e0 [2];\n  undefined4 uStack_d8;\n  undefined *puStack_d0;\n  undefined1 *puStack_cc;\n  undefined1 **ppuStack_c8;\n  undefined4 uStack_c4;\n  undefined1 *local_30;\n  int local_2c;\n  undefined1 auStack_28 [20];\n  \n  puVar13 = (uint *)0x0;\n  local_30 = auStack_28;\n  (*(code *)PTR__M_construct<char_const*>_00432488)\n            (&local_30,PTR_DAT_0043226c + -0x6e10,PTR_DAT_0043226c + -0x6e03);\n                    \n  uVar3 = (**(code **)(**(int **)(param_2 + 0x48) + 8))(*(int **)(param_2 + 0x48));\n  uVar4 = (*(code *)PTR_strlen_0043677c)(uVar3);\n  if (uVar4 <= 0x7fffffffU - local_2c) {\n    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4);\n    piVar6 = piVar5 + 2;\n    *param_1 = (int)(param_1 + 2);\n    if ((int *)*piVar5 == piVar6) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }\n    else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }\n    param_1[1] = piVar5[1];\n    *piVar5 = (int)piVar6;\n    piVar5[1] = 0;\n    *(undefined1 *)(piVar5 + 2) = 0;\n    if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    return param_1;\n  }\n  puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240;\n  (*(code *)PTR___throw_length_error_00432480)();\n                    \n  if (local_30 != auStack_28) {\n    (*(code *)PTR_operator_delete_0043228c)(local_30);\n  }\n  puVar15 = PTR_FUN_00432258;\n  (*(code *)PTR_FUN_00432258)(puVar9);\n  iVar11 = 0xe34;\n  pcVar16 = *(code **)(puVar15 + 0x2417a4);\n  iVar10 = *(int *)(puVar15 + 0x241794) + -0x4fe0;\n  (*pcVar16)(iVar10,0xe34,*(int *)(puVar15 + 0x24164c) + -0x6b94);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar10 + 0x18);\n    if (-1 < *(int *)(iVar10 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }\n    if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }\n    uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n    iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13;\n    puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n    if ((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))) goto LAB_001f0d04;\n    iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c);\n    if (*(char *)(iVar10 + 0x128) == '\0') {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }\n    iVar10 = *(int *)(iVar10 + 0x94);\n    if (iVar10 != 0) {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }\n  }\n  else {\nLAB_001f0d3c:\n    iVar10 = 0xe3;\n    iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;\n    (**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);\n  }\n  iVar14 = *(int *)(pcVar16 + 0x2440c0) + 0xc20;\n  FUN_001f0c20();\n  if (*(int *)(iVar11 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar11 + 0x18);\n    if (*(int *)(iVar11 + 0x20) << 1 < 0) {\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }\n    (**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8);\n  }\n  uVar4 = 0xe3;\n  pbVar12 = (byte *)(*(int *)(iVar14 + 0x241504) + -0x6bac);\n  (**(code **)(iVar14 + 0x24165c))(*(int *)(iVar14 + 0x24164c) + -0x4fe0);\nLAB_001f0e6c:\n  iVar11 = *(int *)(iVar14 + 0x243fac) + 0xc20;\n  FUN_001f0c20();\n  iVar10 = *(int *)(iVar11 + 0x2413f0);\n  uStack_d8 = *(undefined4 *)(iVar11 + 0x243fec);\n  bVar1 = *pbVar12;\n  puStack_d0 = puVar9;\n  puStack_cc = auStack_28;\n  ppuStack_c8 = &local_30;\n  uStack_c4 = uVar3;\n  if ((char)bVar1 < '\0') {\n    uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);\n    bVar2 = pbVar12[aiStack_e0[0]];\n    pbVar12 = pbVar12 + aiStack_e0[0] + 1;\n  }\n  else {\n    bVar2 = pbVar12[1];\n    uVar17 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }\n  uVar8 = (uint)bVar2;\n  if ((char)bVar2 < '\0') {\n    (**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8);\n    uVar8 = extraout_v1;\n  }\n  else {\n    aiStack_e0[0] = 1;\n  }\n  if ((uVar17 == 0) && (uVar8 == 0)) {\n    *puVar13 = uVar4;\n    return (int *)0x1;\n  }\n  if ((uVar4 < iVar14 + 0x249468U) && (uVar8 < 0x21)) {\n                    \n                    \n    piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))();\n    return piVar5;\n  }\n  return (int *)0x0;\n}" primitive_type (pointer_declarator "* FUN_001f0a70(int *param_1,int param_2)" * (function_declarator "FUN_001f0a70(int *param_1,int param_2)" identifier (parameter_list "(int *param_1,int param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) )))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  int *piVar5;\n  int *piVar6;\n  int iVar7;\n  uint uVar8;\n  uint extraout_v1;\n  undefined *puVar9;\n  int iVar10;\n  int iVar11;\n  byte *pbVar12;\n  uint *puVar13;\n  int iVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  ulonglong uVar17;\n  int aiStack_e0 [2];\n  undefined4 uStack_d8;\n  undefined *puStack_d0;\n  undefined1 *puStack_cc;\n  undefined1 **ppuStack_c8;\n  undefined4 uStack_c4;\n  undefined1 *local_30;\n  int local_2c;\n  undefined1 auStack_28 [20];\n  \n  puVar13 = (uint *)0x0;\n  local_30 = auStack_28;\n  (*(code *)PTR__M_construct<char_const*>_00432488)\n            (&local_30,PTR_DAT_0043226c + -0x6e10,PTR_DAT_0043226c + -0x6e03);\n                    \n  uVar3 = (**(code **)(**(int **)(param_2 + 0x48) + 8))(*(int **)(param_2 + 0x48));\n  uVar4 = (*(code *)PTR_strlen_0043677c)(uVar3);\n  if (uVar4 <= 0x7fffffffU - local_2c) {\n    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4);\n    piVar6 = piVar5 + 2;\n    *param_1 = (int)(param_1 + 2);\n    if ((int *)*piVar5 == piVar6) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }\n    else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }\n    param_1[1] = piVar5[1];\n    *piVar5 = (int)piVar6;\n    piVar5[1] = 0;\n    *(undefined1 *)(piVar5 + 2) = 0;\n    if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    return param_1;\n  }\n  puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240;\n  (*(code *)PTR___throw_length_error_00432480)();\n                    \n  if (local_30 != auStack_28) {\n    (*(code *)PTR_operator_delete_0043228c)(local_30);\n  }\n  puVar15 = PTR_FUN_00432258;\n  (*(code *)PTR_FUN_00432258)(puVar9);\n  iVar11 = 0xe34;\n  pcVar16 = *(code **)(puVar15 + 0x2417a4);\n  iVar10 = *(int *)(puVar15 + 0x241794) + -0x4fe0;\n  (*pcVar16)(iVar10,0xe34,*(int *)(puVar15 + 0x24164c) + -0x6b94);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar10 + 0x18);\n    if (-1 < *(int *)(iVar10 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }\n    if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }\n    uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n    iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13;\n    puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n    if ((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))) goto LAB_001f0d04;\n    iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c);\n    if (*(char *)(iVar10 + 0x128) == '\0') {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }\n    iVar10 = *(int *)(iVar10 + 0x94);\n    if (iVar10 != 0) {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }\n  }\n  else {\nLAB_001f0d3c:\n    iVar10 = 0xe3;\n    iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;\n    (**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);\n  }\n  iVar14 = *(int *)(pcVar16 + 0x2440c0) + 0xc20;\n  FUN_001f0c20();\n  if (*(int *)(iVar11 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar11 + 0x18);\n    if (*(int *)(iVar11 + 0x20) << 1 < 0) {\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }\n    (**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8);\n  }\n  uVar4 = 0xe3;\n  pbVar12 = (byte *)(*(int *)(iVar14 + 0x241504) + -0x6bac);\n  (**(code **)(iVar14 + 0x24165c))(*(int *)(iVar14 + 0x24164c) + -0x4fe0);\nLAB_001f0e6c:\n  iVar11 = *(int *)(iVar14 + 0x243fac) + 0xc20;\n  FUN_001f0c20();\n  iVar10 = *(int *)(iVar11 + 0x2413f0);\n  uStack_d8 = *(undefined4 *)(iVar11 + 0x243fec);\n  bVar1 = *pbVar12;\n  puStack_d0 = puVar9;\n  puStack_cc = auStack_28;\n  ppuStack_c8 = &local_30;\n  uStack_c4 = uVar3;\n  if ((char)bVar1 < '\0') {\n    uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);\n    bVar2 = pbVar12[aiStack_e0[0]];\n    pbVar12 = pbVar12 + aiStack_e0[0] + 1;\n  }\n  else {\n    bVar2 = pbVar12[1];\n    uVar17 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }\n  uVar8 = (uint)bVar2;\n  if ((char)bVar2 < '\0') {\n    (**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8);\n    uVar8 = extraout_v1;\n  }\n  else {\n    aiStack_e0[0] = 1;\n  }\n  if ((uVar17 == 0) && (uVar8 == 0)) {\n    *puVar13 = uVar4;\n    return (int *)0x1;\n  }\n  if ((uVar4 < iVar14 + 0x249468U) && (uVar8 < 0x21)) {\n                    \n                    \n    piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))();\n    return piVar5;\n  }\n  return (int *)0x0;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint extraout_v1;" type_identifier identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "code *pcVar16;" type_identifier (pointer_declarator "*pcVar16" * identifier) ;) (declaration "ulonglong uVar17;" type_identifier identifier ;) (declaration "int aiStack_e0 [2];" primitive_type (array_declarator "aiStack_e0 [2]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_d8;" type_identifier identifier ;) (declaration "undefined *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "undefined1 *puStack_cc;" type_identifier (pointer_declarator "*puStack_cc" * identifier) ;) (declaration "undefined1 **ppuStack_c8;" type_identifier (pointer_declarator "**ppuStack_c8" * (pointer_declarator "*ppuStack_c8" * identifier)) ;) (declaration "undefined4 uStack_c4;" type_identifier identifier ;) (declaration "undefined1 *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "undefined1 auStack_28 [20];" type_identifier (array_declarator "auStack_28 [20]" identifier [ number_literal ]) ;) (expression_statement "puVar13 = (uint *)0x0;" (assignment_expression "puVar13 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_30 = auStack_28;" (assignment_expression "local_30 = auStack_28" identifier = identifier) ;) (expression_statement "(*(code *)PTR__M_construct<char_const*>_00432488)\n            (&local_30,PTR_DAT_0043226c + -0x6e10,PTR_DAT_0043226c + -0x6e03);" (call_expression "(*(code *)PTR__M_construct<char_const*>_00432488)\n            (&local_30,PTR_DAT_0043226c + -0x6e10,PTR_DAT_0043226c + -0x6e03)" (parenthesized_expression "(*(code *)PTR__M_construct<char_const*>_00432488)" ( (binary_expression "*(code *)PTR__M_construct<char_const*>_00432488" (binary_expression "*(code *)PTR__M_construct<char_const" (pointer_expression "*(code *)PTR__M_construct" * (cast_expression "(code *)PTR__M_construct" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) (ERROR "*" *) > identifier) )) (argument_list "(&local_30,PTR_DAT_0043226c + -0x6e10,PTR_DAT_0043226c + -0x6e03)" ( (pointer_expression "&local_30" & identifier) , (binary_expression "PTR_DAT_0043226c + -0x6e10" identifier + number_literal) , (binary_expression "PTR_DAT_0043226c + -0x6e03" identifier + number_literal) ))) ;) (expression_statement "uVar3 = (**(code **)(**(int **)(param_2 + 0x48) + 8))(*(int **)(param_2 + 0x48));" (assignment_expression "uVar3 = (**(code **)(**(int **)(param_2 + 0x48) + 8))(*(int **)(param_2 + 0x48))" identifier = (call_expression "(**(code **)(**(int **)(param_2 + 0x48) + 8))(*(int **)(param_2 + 0x48))" (parenthesized_expression "(**(code **)(**(int **)(param_2 + 0x48) + 8))" ( (pointer_expression "**(code **)(**(int **)(param_2 + 0x48) + 8)" * (pointer_expression "*(code **)(**(int **)(param_2 + 0x48) + 8)" * (cast_expression "(code **)(**(int **)(param_2 + 0x48) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_2 + 0x48) + 8)" ( (binary_expression "**(int **)(param_2 + 0x48) + 8" (pointer_expression "**(int **)(param_2 + 0x48)" * (pointer_expression "*(int **)(param_2 + 0x48)" * (cast_expression "(int **)(param_2 + 0x48)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x48)" ( (binary_expression "param_2 + 0x48" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(param_2 + 0x48))" ( (pointer_expression "*(int **)(param_2 + 0x48)" * (cast_expression "(int **)(param_2 + 0x48)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x48)" ( (binary_expression "param_2 + 0x48" identifier + number_literal) )))) )))) ;) (expression_statement "uVar4 = (*(code *)PTR_strlen_0043677c)(uVar3);" (assignment_expression "uVar4 = (*(code *)PTR_strlen_0043677c)(uVar3)" identifier = (call_expression "(*(code *)PTR_strlen_0043677c)(uVar3)" (parenthesized_expression "(*(code *)PTR_strlen_0043677c)" ( (pointer_expression "*(code *)PTR_strlen_0043677c" * (cast_expression "(code *)PTR_strlen_0043677c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar3)" ( identifier )))) ;) (if_statement "if (uVar4 <= 0x7fffffffU - local_2c) {\n    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4);\n    piVar6 = piVar5 + 2;\n    *param_1 = (int)(param_1 + 2);\n    if ((int *)*piVar5 == piVar6) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }\n    else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }\n    param_1[1] = piVar5[1];\n    *piVar5 = (int)piVar6;\n    piVar5[1] = 0;\n    *(undefined1 *)(piVar5 + 2) = 0;\n    if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    return param_1;\n  }" if (parenthesized_expression "(uVar4 <= 0x7fffffffU - local_2c)" ( (binary_expression "uVar4 <= 0x7fffffffU - local_2c" identifier <= (binary_expression "0x7fffffffU - local_2c" number_literal - identifier)) )) (compound_statement "{\n    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4);\n    piVar6 = piVar5 + 2;\n    *param_1 = (int)(param_1 + 2);\n    if ((int *)*piVar5 == piVar6) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }\n    else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }\n    param_1[1] = piVar5[1];\n    *piVar5 = (int)piVar6;\n    piVar5[1] = 0;\n    *(undefined1 *)(piVar5 + 2) = 0;\n    if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    return param_1;\n  }" { (expression_statement "piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4);" (assignment_expression "piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4)" identifier = (cast_expression "(int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4)" (parenthesized_expression "(*(code *)PTR__M_append_00432c50)" ( (pointer_expression "*(code *)PTR__M_append_00432c50" * (cast_expression "(code *)PTR__M_append_00432c50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_30,uVar3,uVar4)" ( (pointer_expression "&local_30" & identifier) , identifier , identifier ))))) ;) (expression_statement "piVar6 = piVar5 + 2;" (assignment_expression "piVar6 = piVar5 + 2" identifier = (binary_expression "piVar5 + 2" identifier + number_literal)) ;) (expression_statement "*param_1 = (int)(param_1 + 2);" (assignment_expression "*param_1 = (int)(param_1 + 2)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(param_1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) ;) (if_statement "if ((int *)*piVar5 == piVar6) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }\n    else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }" if (parenthesized_expression "((int *)*piVar5 == piVar6)" ( (binary_expression "(int *)*piVar5 == piVar6" (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier)) == identifier) )) (compound_statement "{\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }" { (expression_statement "iVar14 = piVar5[3];" (assignment_expression "iVar14 = piVar5[3]" identifier = (subscript_expression "piVar5[3]" identifier [ number_literal ])) ;) (expression_statement "iVar11 = piVar5[4];" (assignment_expression "iVar11 = piVar5[4]" identifier = (subscript_expression "piVar5[4]" identifier [ number_literal ])) ;) (expression_statement "iVar10 = piVar5[5];" (assignment_expression "iVar10 = piVar5[5]" identifier = (subscript_expression "piVar5[5]" identifier [ number_literal ])) ;) (expression_statement "param_1[2] = *piVar6;" (assignment_expression "param_1[2] = *piVar6" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "param_1[3] = iVar14;" (assignment_expression "param_1[3] = iVar14" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[4] = iVar11;" (assignment_expression "param_1[4] = iVar11" (subscript_expression "param_1[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[5] = iVar10;" (assignment_expression "param_1[5] = iVar10" (subscript_expression "param_1[5]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }" else (compound_statement "{\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }" { (expression_statement "*param_1 = *piVar5;" (assignment_expression "*param_1 = *piVar5" (pointer_expression "*param_1" * identifier) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "param_1[2] = piVar5[2];" (assignment_expression "param_1[2] = piVar5[2]" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (subscript_expression "piVar5[2]" identifier [ number_literal ])) ;) }))) (expression_statement "param_1[1] = piVar5[1];" (assignment_expression "param_1[1] = piVar5[1]" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (subscript_expression "piVar5[1]" identifier [ number_literal ])) ;) (expression_statement "*piVar5 = (int)piVar6;" (assignment_expression "*piVar5 = (int)piVar6" (pointer_expression "*piVar5" * identifier) = (cast_expression "(int)piVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar5[1] = 0;" (assignment_expression "piVar5[1] = 0" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar5 + 2) = 0;" (assignment_expression "*(undefined1 *)(piVar5 + 2) = 0" (pointer_expression "*(undefined1 *)(piVar5 + 2)" * (cast_expression "(undefined1 *)(piVar5 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 2)" ( (binary_expression "piVar5 + 2" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }" if (parenthesized_expression "(local_30 != auStack_28)" ( (binary_expression "local_30 != auStack_28" identifier != identifier) )) (compound_statement "{\n      (*(code *)PTR_operator_delete_0043228c)();\n    }" { (expression_statement "(*(code *)PTR_operator_delete_0043228c)();" (call_expression "(*(code *)PTR_operator_delete_0043228c)()" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" ( (pointer_expression "*(code *)PTR_operator_delete_0043228c" * (cast_expression "(code *)PTR_operator_delete_0043228c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (return_statement "return param_1;" return identifier ;) })) (expression_statement "puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240;" (assignment_expression "puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240" identifier = (binary_expression "PTR_s_alize_xindex_004323b4 + -0x6240" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___throw_length_error_00432480)();" (call_expression "(*(code *)PTR___throw_length_error_00432480)()" (parenthesized_expression "(*(code *)PTR___throw_length_error_00432480)" ( (pointer_expression "*(code *)PTR___throw_length_error_00432480" * (cast_expression "(code *)PTR___throw_length_error_00432480" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (local_30 != auStack_28) {\n    (*(code *)PTR_operator_delete_0043228c)(local_30);\n  }" if (parenthesized_expression "(local_30 != auStack_28)" ( (binary_expression "local_30 != auStack_28" identifier != identifier) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_0043228c)(local_30);\n  }" { (expression_statement "(*(code *)PTR_operator_delete_0043228c)(local_30);" (call_expression "(*(code *)PTR_operator_delete_0043228c)(local_30)" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" ( (pointer_expression "*(code *)PTR_operator_delete_0043228c" * (cast_expression "(code *)PTR_operator_delete_0043228c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier ))) ;) })) (expression_statement "puVar15 = PTR_FUN_00432258;" (assignment_expression "puVar15 = PTR_FUN_00432258" identifier = identifier) ;) (expression_statement "(*(code *)PTR_FUN_00432258)(puVar9);" (call_expression "(*(code *)PTR_FUN_00432258)(puVar9)" (parenthesized_expression "(*(code *)PTR_FUN_00432258)" ( (pointer_expression "*(code *)PTR_FUN_00432258" * (cast_expression "(code *)PTR_FUN_00432258" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar9)" ( identifier ))) ;) (expression_statement "iVar11 = 0xe34;" (assignment_expression "iVar11 = 0xe34" identifier = number_literal) ;) (expression_statement "pcVar16 = *(code **)(puVar15 + 0x2417a4);" (assignment_expression "pcVar16 = *(code **)(puVar15 + 0x2417a4)" identifier = (pointer_expression "*(code **)(puVar15 + 0x2417a4)" * (cast_expression "(code **)(puVar15 + 0x2417a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x2417a4)" ( (binary_expression "puVar15 + 0x2417a4" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(puVar15 + 0x241794) + -0x4fe0;" (assignment_expression "iVar10 = *(int *)(puVar15 + 0x241794) + -0x4fe0" identifier = (binary_expression "*(int *)(puVar15 + 0x241794) + -0x4fe0" (pointer_expression "*(int *)(puVar15 + 0x241794)" * (cast_expression "(int *)(puVar15 + 0x241794)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x241794)" ( (binary_expression "puVar15 + 0x241794" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar16)(iVar10,0xe34,*(int *)(puVar15 + 0x24164c) + -0x6b94);" (call_expression "(*pcVar16)(iVar10,0xe34,*(int *)(puVar15 + 0x24164c) + -0x6b94)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(iVar10,0xe34,*(int *)(puVar15 + 0x24164c) + -0x6b94)" ( identifier , number_literal , (binary_expression "*(int *)(puVar15 + 0x24164c) + -0x6b94" (pointer_expression "*(int *)(puVar15 + 0x24164c)" * (cast_expression "(int *)(puVar15 + 0x24164c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24164c)" ( (binary_expression "puVar15 + 0x24164c" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar10 + 0x18);\n    if (-1 < *(int *)(iVar10 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }\n    if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }\n    uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n    iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13;\n    puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n    if ((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))) goto LAB_001f0d04;\n    iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c);\n    if (*(char *)(iVar10 + 0x128) == '\0') {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }\n    iVar10 = *(int *)(iVar10 + 0x94);\n    if (iVar10 != 0) {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }\n  }\n  else {\nLAB_001f0d3c:\n    iVar10 = 0xe3;\n    iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;\n    (**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);\n  }" if (parenthesized_expression "(*(int *)(iVar10 + 0x20) << 2 < 0)" ( (binary_expression "*(int *)(iVar10 + 0x20) << 2 < 0" (binary_expression "*(int *)(iVar10 + 0x20) << 2" (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) )))) << number_literal) < number_literal) )) (compound_statement "{\n    puVar13 = *(uint **)(iVar10 + 0x18);\n    if (-1 < *(int *)(iVar10 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }\n    if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }\n    uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n    iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13;\n    puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n    if ((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))) goto LAB_001f0d04;\n    iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c);\n    if (*(char *)(iVar10 + 0x128) == '\0') {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }\n    iVar10 = *(int *)(iVar10 + 0x94);\n    if (iVar10 != 0) {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }\n  }" { (expression_statement "puVar13 = *(uint **)(iVar10 + 0x18);" (assignment_expression "puVar13 = *(uint **)(iVar10 + 0x18)" identifier = (pointer_expression "*(uint **)(iVar10 + 0x18)" * (cast_expression "(uint **)(iVar10 + 0x18)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x18)" ( (binary_expression "iVar10 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(iVar10 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }" if (parenthesized_expression "(-1 < *(int *)(iVar10 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(iVar10 + 0x20) << 1" number_literal < (binary_expression "*(int *)(iVar10 + 0x20) << 1" (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) )))) << number_literal)) )) (compound_statement "{\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }" { (labeled_statement "LAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;" statement_identifier : (expression_statement "(**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;" (call_expression "(**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)" (parenthesized_expression "(**(code **)(pcVar16 + 0x241770))" ( (pointer_expression "**(code **)(pcVar16 + 0x241770)" * (pointer_expression "*(code **)(pcVar16 + 0x241770)" * (cast_expression "(code **)(pcVar16 + 0x241770)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x241770)" ( (binary_expression "pcVar16 + 0x241770" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)" ( (binary_expression "*(int *)(pcVar16 + 0x241760) + -0x4fe0" (pointer_expression "*(int *)(pcVar16 + 0x241760)" * (cast_expression "(int *)(pcVar16 + 0x241760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x241760)" ( (binary_expression "pcVar16 + 0x241760" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar16 + 0x241618) + -0x6bb8" (pointer_expression "*(int *)(pcVar16 + 0x241618)" * (cast_expression "(int *)(pcVar16 + 0x241618)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x241618)" ( (binary_expression "pcVar16 + 0x241618" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_001f0d3c;" goto statement_identifier ;) })) (if_statement "if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }" if (parenthesized_expression "((int)puVar13 < 0)" ( (binary_expression "(int)puVar13 < 0" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }" { (labeled_statement "LAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;" statement_identifier : (expression_statement "(**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;" (call_expression "(**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)" (parenthesized_expression "(**(code **)(pcVar16 + 0x241770))" ( (pointer_expression "**(code **)(pcVar16 + 0x241770)" * (pointer_expression "*(code **)(pcVar16 + 0x241770)" * (cast_expression "(code **)(pcVar16 + 0x241770)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x241770)" ( (binary_expression "pcVar16 + 0x241770" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)" ( (binary_expression "*(int *)(pcVar16 + 0x241760) + -0x4fe0" (pointer_expression "*(int *)(pcVar16 + 0x241760)" * (cast_expression "(int *)(pcVar16 + 0x241760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x241760)" ( (binary_expression "pcVar16 + 0x241760" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar16 + 0x241618) + -0x6bc8" (pointer_expression "*(int *)(pcVar16 + 0x241618)" * (cast_expression "(int *)(pcVar16 + 0x241618)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x241618)" ( (binary_expression "pcVar16 + 0x241618" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_001f0d20;" goto statement_identifier ;) })) (expression_statement "uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);" (assignment_expression "uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c)" identifier = (binary_expression "*(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(uint *)(iVar10 + 0x14)" * (cast_expression "(uint *)(iVar10 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar10 + 0x1c)" * (cast_expression "(int *)(iVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13;" (assignment_expression "iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13" identifier = (binary_expression "(uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13" (call_expression "(uint)(uVar4 < *(uint *)(iVar10 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 < *(uint *)(iVar10 + 0x14))" ( (binary_expression "uVar4 < *(uint *)(iVar10 + 0x14)" identifier < (pointer_expression "*(uint *)(iVar10 + 0x14)" * (cast_expression "(uint *)(iVar10 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) ))))) ))) + (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14);" (assignment_expression "puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14)" identifier = (cast_expression "(uint *)(uint)(*(int *)(iVar11 + 8) < iVar14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(int *)(iVar11 + 8) < iVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar11 + 8) < iVar14)" ( (binary_expression "*(int *)(iVar11 + 8) < iVar14" (pointer_expression "*(int *)(iVar11 + 8)" * (cast_expression "(int *)(iVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) )))) < identifier) ))))) ;) (if_statement "if ((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))) goto LAB_001f0d04;" if (parenthesized_expression "((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4))))" ( (binary_expression "(puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))" (parenthesized_expression "(puVar13 != (uint *)0x0)" ( (binary_expression "puVar13 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))" ( (parenthesized_expression "(*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4))" ( (binary_expression "*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)" (binary_expression "*(int *)(iVar11 + 8) == iVar14" (pointer_expression "*(int *)(iVar11 + 8)" * (cast_expression "(int *)(iVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) )))) == identifier) && (parenthesized_expression "(*(uint *)(iVar11 + 0xc) < uVar4)" ( (binary_expression "*(uint *)(iVar11 + 0xc) < uVar4" (pointer_expression "*(uint *)(iVar11 + 0xc)" * (cast_expression "(uint *)(iVar11 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xc)" ( (binary_expression "iVar11 + 0xc" identifier + number_literal) )))) < identifier) ))) )) ))) )) (goto_statement "goto LAB_001f0d04;" goto statement_identifier ;)) (expression_statement "iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c);" (assignment_expression "iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c)" identifier = (binary_expression "*(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(int *)(iVar11 + 0x10)" * (cast_expression "(int *)(iVar11 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar10 + 0x1c)" * (cast_expression "(int *)(iVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) )))))) ;) (if_statement "if (*(char *)(iVar10 + 0x128) == '\0') {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }" if (parenthesized_expression "(*(char *)(iVar10 + 0x128) == '\0')" ( (binary_expression "*(char *)(iVar10 + 0x128) == '\0'" (pointer_expression "*(char *)(iVar10 + 0x128)" * (cast_expression "(char *)(iVar10 + 0x128)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x128)" ( (binary_expression "iVar10 + 0x128" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }" { (expression_statement "piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));" (assignment_expression "piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc))" identifier = (cast_expression "(int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc))" (parenthesized_expression "(**(code **)(pcVar16 + 0x245b34))" ( (pointer_expression "**(code **)(pcVar16 + 0x245b34)" * (pointer_expression "*(code **)(pcVar16 + 0x245b34)" * (cast_expression "(code **)(pcVar16 + 0x245b34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x245b34)" ( (binary_expression "pcVar16 + 0x245b34" identifier + number_literal) ))))) )) (argument_list "(iVar11,*(undefined4 *)(iVar10 + 0xfc))" ( identifier , (pointer_expression "*(undefined4 *)(iVar10 + 0xfc)" * (cast_expression "(undefined4 *)(iVar10 + 0xfc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xfc)" ( (binary_expression "iVar10 + 0xfc" identifier + number_literal) )))) ))))) ;) (return_statement "return piVar5;" return identifier ;) })) (expression_statement "iVar10 = *(int *)(iVar10 + 0x94);" (assignment_expression "iVar10 = *(int *)(iVar10 + 0x94)" identifier = (pointer_expression "*(int *)(iVar10 + 0x94)" * (cast_expression "(int *)(iVar10 + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x94)" ( (binary_expression "iVar10 + 0x94" identifier + number_literal) ))))) ;) (if_statement "if (iVar10 != 0) {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }" { (expression_statement "piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();" (assignment_expression "piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))()" identifier = (cast_expression "(int *)(**(code **)(pcVar16 + 0x245b34))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar16 + 0x245b34))()" (parenthesized_expression "(**(code **)(pcVar16 + 0x245b34))" ( (pointer_expression "**(code **)(pcVar16 + 0x245b34)" * (pointer_expression "*(code **)(pcVar16 + 0x245b34)" * (cast_expression "(code **)(pcVar16 + 0x245b34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x245b34)" ( (binary_expression "pcVar16 + 0x245b34" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (return_statement "return piVar5;" return identifier ;) })) }) (else_clause "else {\nLAB_001f0d3c:\n    iVar10 = 0xe3;\n    iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;\n    (**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);\n  }" else (compound_statement "{\nLAB_001f0d3c:\n    iVar10 = 0xe3;\n    iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;\n    (**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);\n  }" { (labeled_statement "LAB_001f0d3c:\n    iVar10 = 0xe3;" statement_identifier : (expression_statement "iVar10 = 0xe3;" (assignment_expression "iVar10 = 0xe3" identifier = number_literal) ;)) (expression_statement "iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;" (assignment_expression "iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0" identifier = (binary_expression "*(int *)(pcVar16 + 0x241760) + -0x4fe0" (pointer_expression "*(int *)(pcVar16 + 0x241760)" * (cast_expression "(int *)(pcVar16 + 0x241760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x241760)" ( (binary_expression "pcVar16 + 0x241760" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);" (call_expression "(**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac)" (parenthesized_expression "(**(code **)(pcVar16 + 0x241770))" ( (pointer_expression "**(code **)(pcVar16 + 0x241770)" * (pointer_expression "*(code **)(pcVar16 + 0x241770)" * (cast_expression "(code **)(pcVar16 + 0x241770)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x241770)" ( (binary_expression "pcVar16 + 0x241770" identifier + number_literal) ))))) )) (argument_list "(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar16 + 0x241618) + -0x6bac" (pointer_expression "*(int *)(pcVar16 + 0x241618)" * (cast_expression "(int *)(pcVar16 + 0x241618)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x241618)" ( (binary_expression "pcVar16 + 0x241618" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "iVar14 = *(int *)(pcVar16 + 0x2440c0) + 0xc20;" (assignment_expression "iVar14 = *(int *)(pcVar16 + 0x2440c0) + 0xc20" identifier = (binary_expression "*(int *)(pcVar16 + 0x2440c0) + 0xc20" (pointer_expression "*(int *)(pcVar16 + 0x2440c0)" * (cast_expression "(int *)(pcVar16 + 0x2440c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2440c0)" ( (binary_expression "pcVar16 + 0x2440c0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "FUN_001f0c20();" (call_expression "FUN_001f0c20()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(iVar11 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar11 + 0x18);\n    if (*(int *)(iVar11 + 0x20) << 1 < 0) {\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }\n    (**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8);\n  }" if (parenthesized_expression "(*(int *)(iVar11 + 0x20) << 2 < 0)" ( (binary_expression "*(int *)(iVar11 + 0x20) << 2 < 0" (binary_expression "*(int *)(iVar11 + 0x20) << 2" (pointer_expression "*(int *)(iVar11 + 0x20)" * (cast_expression "(int *)(iVar11 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x20)" ( (binary_expression "iVar11 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    puVar13 = *(uint **)(iVar11 + 0x18);\n    if (*(int *)(iVar11 + 0x20) << 1 < 0) {\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }\n    (**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8);\n  }" { (expression_statement "puVar13 = *(uint **)(iVar11 + 0x18);" (assignment_expression "puVar13 = *(uint **)(iVar11 + 0x18)" identifier = (pointer_expression "*(uint **)(iVar11 + 0x18)" * (cast_expression "(uint **)(iVar11 + 0x18)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x18)" ( (binary_expression "iVar11 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar11 + 0x20) << 1 < 0) {\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }" if (parenthesized_expression "(*(int *)(iVar11 + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(iVar11 + 0x20) << 1 < 0" (binary_expression "*(int *)(iVar11 + 0x20) << 1" (pointer_expression "*(int *)(iVar11 + 0x20)" * (cast_expression "(int *)(iVar11 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x20)" ( (binary_expression "iVar11 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }" { (expression_statement "pbVar12 = *(byte **)(iVar11 + 0x14);" (assignment_expression "pbVar12 = *(byte **)(iVar11 + 0x14)" identifier = (pointer_expression "*(byte **)(iVar11 + 0x14)" * (cast_expression "(byte **)(iVar11 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }" if (parenthesized_expression "(-1 < (int)puVar13)" ( (binary_expression "-1 < (int)puVar13" number_literal < (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }" { (expression_statement "iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;" (assignment_expression "iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13" identifier = (binary_expression "(uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13" (call_expression "(uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12)" ( (binary_expression "pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12" (binary_expression "pbVar12 + *(int *)(iVar11 + 0x1c)" identifier + (pointer_expression "*(int *)(iVar11 + 0x1c)" * (cast_expression "(int *)(iVar11 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1c)" ( (binary_expression "iVar11 + 0x1c" identifier + number_literal) ))))) < identifier) ))) + (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);" (assignment_expression "puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7)" identifier = (cast_expression "(uint *)(uint)(*(int *)(iVar10 + 8) < iVar7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(int *)(iVar10 + 8) < iVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar10 + 8) < iVar7)" ( (binary_expression "*(int *)(iVar10 + 8) < iVar7" (pointer_expression "*(int *)(iVar10 + 8)" * (cast_expression "(int *)(iVar10 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 8)" ( (binary_expression "iVar10 + 8" identifier + number_literal) )))) < identifier) ))))) ;) (if_statement "if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }" if (parenthesized_expression "((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc)))))" ( (binary_expression "(puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))" (parenthesized_expression "(puVar13 == (uint *)0x0)" ( (binary_expression "puVar13 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))" ( (parenthesized_expression "(*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc)))" ( (binary_expression "*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))" (binary_expression "*(int *)(iVar10 + 8) != iVar7" (pointer_expression "*(int *)(iVar10 + 8)" * (cast_expression "(int *)(iVar10 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 8)" ( (binary_expression "iVar10 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))" ( (binary_expression "pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc)" (binary_expression "pbVar12 + *(int *)(iVar11 + 0x1c)" identifier + (pointer_expression "*(int *)(iVar11 + 0x1c)" * (cast_expression "(int *)(iVar11 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1c)" ( (binary_expression "iVar11 + 0x1c" identifier + number_literal) ))))) <= (pointer_expression "*(byte **)(iVar10 + 0xc)" * (cast_expression "(byte **)(iVar10 + 0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0xc)" ( (binary_expression "iVar10 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }" { (if_statement "if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }" if (parenthesized_expression "(*(char *)(iVar11 + 0x10c) == '\0')" ( (binary_expression "*(char *)(iVar11 + 0x10c) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x10c)" * (cast_expression "(char *)(iVar11 + 0x10c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x10c)" ( (binary_expression "iVar11 + 0x10c" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }" { (expression_statement "piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));" (assignment_expression "piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc))" identifier = (cast_expression "(int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc))" (parenthesized_expression "(**(code **)(iVar14 + 0x245a20))" ( (pointer_expression "**(code **)(iVar14 + 0x245a20)" * (pointer_expression "*(code **)(iVar14 + 0x245a20)" * (cast_expression "(code **)(iVar14 + 0x245a20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x245a20)" ( (binary_expression "iVar14 + 0x245a20" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc))" ( (binary_expression "*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c)" (pointer_expression "*(int *)(iVar10 + 0x10)" * (cast_expression "(int *)(iVar10 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x10)" ( (binary_expression "iVar10 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar11 + 0x1c)" * (cast_expression "(int *)(iVar11 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1c)" ( (binary_expression "iVar11 + 0x1c" identifier + number_literal) ))))) , (pointer_expression "*(undefined4 *)(iVar11 + 0xfc)" * (cast_expression "(undefined4 *)(iVar11 + 0xfc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xfc)" ( (binary_expression "iVar11 + 0xfc" identifier + number_literal) )))) ))))) ;) (return_statement "return piVar5;" return identifier ;) })) (expression_statement "uVar4 = *(uint *)(iVar11 + 0x94);" (assignment_expression "uVar4 = *(uint *)(iVar11 + 0x94)" identifier = (pointer_expression "*(uint *)(iVar11 + 0x94)" * (cast_expression "(uint *)(iVar11 + 0x94)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x94)" ( (binary_expression "iVar11 + 0x94" identifier + number_literal) ))))) ;) (if_statement "if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }" if (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }" { (expression_statement "piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();" (assignment_expression "piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))()" identifier = (cast_expression "(int *)(**(code **)(iVar14 + 0x245a20))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(iVar14 + 0x245a20))()" (parenthesized_expression "(**(code **)(iVar14 + 0x245a20))" ( (pointer_expression "**(code **)(iVar14 + 0x245a20)" * (pointer_expression "*(code **)(iVar14 + 0x245a20)" * (cast_expression "(code **)(iVar14 + 0x245a20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x245a20)" ( (binary_expression "iVar14 + 0x245a20" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (return_statement "return piVar5;" return identifier ;) })) (goto_statement "goto LAB_001f0e6c;" goto statement_identifier ;) })) })) (expression_statement "(**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);" (call_expression "(**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8)" (parenthesized_expression "(**(code **)(iVar14 + 0x24165c))" ( (pointer_expression "**(code **)(iVar14 + 0x24165c)" * (pointer_expression "*(code **)(iVar14 + 0x24165c)" * (cast_expression "(code **)(iVar14 + 0x24165c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x24165c)" ( (binary_expression "iVar14 + 0x24165c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8)" ( (binary_expression "*(int *)(iVar14 + 0x24164c) + -0x4fe0" (pointer_expression "*(int *)(iVar14 + 0x24164c)" * (cast_expression "(int *)(iVar14 + 0x24164c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x24164c)" ( (binary_expression "iVar14 + 0x24164c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(iVar14 + 0x241504) + -0x6bc8" (pointer_expression "*(int *)(iVar14 + 0x241504)" * (cast_expression "(int *)(iVar14 + 0x241504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x241504)" ( (binary_expression "iVar14 + 0x241504" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8);" (call_expression "(**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8)" (parenthesized_expression "(**(code **)(iVar14 + 0x24165c))" ( (pointer_expression "**(code **)(iVar14 + 0x24165c)" * (pointer_expression "*(code **)(iVar14 + 0x24165c)" * (cast_expression "(code **)(iVar14 + 0x24165c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x24165c)" ( (binary_expression "iVar14 + 0x24165c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8)" ( (binary_expression "*(int *)(iVar14 + 0x24164c) + -0x4fe0" (pointer_expression "*(int *)(iVar14 + 0x24164c)" * (cast_expression "(int *)(iVar14 + 0x24164c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x24164c)" ( (binary_expression "iVar14 + 0x24164c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(iVar14 + 0x241504) + -0x6bb8" (pointer_expression "*(int *)(iVar14 + 0x241504)" * (cast_expression "(int *)(iVar14 + 0x241504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x241504)" ( (binary_expression "iVar14 + 0x241504" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "uVar4 = 0xe3;" (assignment_expression "uVar4 = 0xe3" identifier = number_literal) ;) (expression_statement "pbVar12 = (byte *)(*(int *)(iVar14 + 0x241504) + -0x6bac);" (assignment_expression "pbVar12 = (byte *)(*(int *)(iVar14 + 0x241504) + -0x6bac)" identifier = (cast_expression "(byte *)(*(int *)(iVar14 + 0x241504) + -0x6bac)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar14 + 0x241504) + -0x6bac)" ( (binary_expression "*(int *)(iVar14 + 0x241504) + -0x6bac" (pointer_expression "*(int *)(iVar14 + 0x241504)" * (cast_expression "(int *)(iVar14 + 0x241504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x241504)" ( (binary_expression "iVar14 + 0x241504" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(iVar14 + 0x24165c))(*(int *)(iVar14 + 0x24164c) + -0x4fe0);" (call_expression "(**(code **)(iVar14 + 0x24165c))(*(int *)(iVar14 + 0x24164c) + -0x4fe0)" (parenthesized_expression "(**(code **)(iVar14 + 0x24165c))" ( (pointer_expression "**(code **)(iVar14 + 0x24165c)" * (pointer_expression "*(code **)(iVar14 + 0x24165c)" * (cast_expression "(code **)(iVar14 + 0x24165c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x24165c)" ( (binary_expression "iVar14 + 0x24165c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar14 + 0x24164c) + -0x4fe0)" ( (binary_expression "*(int *)(iVar14 + 0x24164c) + -0x4fe0" (pointer_expression "*(int *)(iVar14 + 0x24164c)" * (cast_expression "(int *)(iVar14 + 0x24164c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x24164c)" ( (binary_expression "iVar14 + 0x24164c" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_001f0e6c:\n  iVar11 = *(int *)(iVar14 + 0x243fac) + 0xc20;" statement_identifier : (expression_statement "iVar11 = *(int *)(iVar14 + 0x243fac) + 0xc20;" (assignment_expression "iVar11 = *(int *)(iVar14 + 0x243fac) + 0xc20" identifier = (binary_expression "*(int *)(iVar14 + 0x243fac) + 0xc20" (pointer_expression "*(int *)(iVar14 + 0x243fac)" * (cast_expression "(int *)(iVar14 + 0x243fac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x243fac)" ( (binary_expression "iVar14 + 0x243fac" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "FUN_001f0c20();" (call_expression "FUN_001f0c20()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar10 = *(int *)(iVar11 + 0x2413f0);" (assignment_expression "iVar10 = *(int *)(iVar11 + 0x2413f0)" identifier = (pointer_expression "*(int *)(iVar11 + 0x2413f0)" * (cast_expression "(int *)(iVar11 + 0x2413f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x2413f0)" ( (binary_expression "iVar11 + 0x2413f0" identifier + number_literal) ))))) ;) (expression_statement "uStack_d8 = *(undefined4 *)(iVar11 + 0x243fec);" (assignment_expression "uStack_d8 = *(undefined4 *)(iVar11 + 0x243fec)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x243fec)" * (cast_expression "(undefined4 *)(iVar11 + 0x243fec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x243fec)" ( (binary_expression "iVar11 + 0x243fec" identifier + number_literal) ))))) ;) (expression_statement "bVar1 = *pbVar12;" (assignment_expression "bVar1 = *pbVar12" identifier = (pointer_expression "*pbVar12" * identifier)) ;) (expression_statement "puStack_d0 = puVar9;" (assignment_expression "puStack_d0 = puVar9" identifier = identifier) ;) (expression_statement "puStack_cc = auStack_28;" (assignment_expression "puStack_cc = auStack_28" identifier = identifier) ;) (expression_statement "ppuStack_c8 = &local_30;" (assignment_expression "ppuStack_c8 = &local_30" identifier = (pointer_expression "&local_30" & identifier)) ;) (expression_statement "uStack_c4 = uVar3;" (assignment_expression "uStack_c4 = uVar3" identifier = identifier) ;) (if_statement "if ((char)bVar1 < '\0') {\n    uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);\n    bVar2 = pbVar12[aiStack_e0[0]];\n    pbVar12 = pbVar12 + aiStack_e0[0] + 1;\n  }\n  else {\n    bVar2 = pbVar12[1];\n    uVar17 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);\n    bVar2 = pbVar12[aiStack_e0[0]];\n    pbVar12 = pbVar12 + aiStack_e0[0] + 1;\n  }" { (expression_statement "uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);" (assignment_expression "uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1)" identifier = (call_expression "(**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1)" (parenthesized_expression "(**(code **)(iVar11 + 0x241cf8))" ( (pointer_expression "**(code **)(iVar11 + 0x241cf8)" * (pointer_expression "*(code **)(iVar11 + 0x241cf8)" * (cast_expression "(code **)(iVar11 + 0x241cf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x241cf8)" ( (binary_expression "iVar11 + 0x241cf8" identifier + number_literal) ))))) )) (argument_list "(pbVar12 + 1,aiStack_e0,(uint)bVar1)" ( (binary_expression "pbVar12 + 1" identifier + number_literal) , identifier , (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "bVar2 = pbVar12[aiStack_e0[0]];" (assignment_expression "bVar2 = pbVar12[aiStack_e0[0]]" identifier = (subscript_expression "pbVar12[aiStack_e0[0]]" identifier [ (subscript_expression "aiStack_e0[0]" identifier [ number_literal ]) ])) ;) (expression_statement "pbVar12 = pbVar12 + aiStack_e0[0] + 1;" (assignment_expression "pbVar12 = pbVar12 + aiStack_e0[0] + 1" identifier = (binary_expression "pbVar12 + aiStack_e0[0] + 1" (binary_expression "pbVar12 + aiStack_e0[0]" identifier + (subscript_expression "aiStack_e0[0]" identifier [ number_literal ])) + number_literal)) ;) }) (else_clause "else {\n    bVar2 = pbVar12[1];\n    uVar17 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }" else (compound_statement "{\n    bVar2 = pbVar12[1];\n    uVar17 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }" { (expression_statement "bVar2 = pbVar12[1];" (assignment_expression "bVar2 = pbVar12[1]" identifier = (subscript_expression "pbVar12[1]" identifier [ number_literal ])) ;) (expression_statement "uVar17 = (ulonglong)(uint)bVar1;" (assignment_expression "uVar17 = (ulonglong)(uint)bVar1" identifier = (cast_expression "(ulonglong)(uint)bVar1" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "aiStack_e0[0] = 1;" (assignment_expression "aiStack_e0[0] = 1" (subscript_expression "aiStack_e0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar12 = pbVar12 + 2;" (assignment_expression "pbVar12 = pbVar12 + 2" identifier = (binary_expression "pbVar12 + 2" identifier + number_literal)) ;) }))) (expression_statement "uVar8 = (uint)bVar2;" (assignment_expression "uVar8 = (uint)bVar2" identifier = (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((char)bVar2 < '\0') {\n    (**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8);\n    uVar8 = extraout_v1;\n  }\n  else {\n    aiStack_e0[0] = 1;\n  }" if (parenthesized_expression "((char)bVar2 < '\0')" ( (binary_expression "(char)bVar2 < '\0'" (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    (**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8);\n    uVar8 = extraout_v1;\n  }" { (expression_statement "(**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8);" (call_expression "(**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8)" (parenthesized_expression "(**(code **)(iVar11 + 0x241cf8))" ( (pointer_expression "**(code **)(iVar11 + 0x241cf8)" * (pointer_expression "*(code **)(iVar11 + 0x241cf8)" * (cast_expression "(code **)(iVar11 + 0x241cf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x241cf8)" ( (binary_expression "iVar11 + 0x241cf8" identifier + number_literal) ))))) )) (argument_list "(pbVar12,aiStack_e0,uVar8)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar8 = extraout_v1;" (assignment_expression "uVar8 = extraout_v1" identifier = identifier) ;) }) (else_clause "else {\n    aiStack_e0[0] = 1;\n  }" else (compound_statement "{\n    aiStack_e0[0] = 1;\n  }" { (expression_statement "aiStack_e0[0] = 1;" (assignment_expression "aiStack_e0[0] = 1" (subscript_expression "aiStack_e0[0]" identifier [ number_literal ]) = number_literal) ;) }))) (if_statement "if ((uVar17 == 0) && (uVar8 == 0)) {\n    *puVar13 = uVar4;\n    return (int *)0x1;\n  }" if (parenthesized_expression "((uVar17 == 0) && (uVar8 == 0))" ( (binary_expression "(uVar17 == 0) && (uVar8 == 0)" (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) && (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) ))) )) (compound_statement "{\n    *puVar13 = uVar4;\n    return (int *)0x1;\n  }" { (expression_statement "*puVar13 = uVar4;" (assignment_expression "*puVar13 = uVar4" (pointer_expression "*puVar13" * identifier) = identifier) ;) (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if ((uVar4 < iVar14 + 0x249468U) && (uVar8 < 0x21)) {\n                    \n                    \n    piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))();\n    return piVar5;\n  }" if (parenthesized_expression "((uVar4 < iVar14 + 0x249468U) && (uVar8 < 0x21))" ( (binary_expression "(uVar4 < iVar14 + 0x249468U) && (uVar8 < 0x21)" (parenthesized_expression "(uVar4 < iVar14 + 0x249468U)" ( (binary_expression "uVar4 < iVar14 + 0x249468U" identifier < (binary_expression "iVar14 + 0x249468U" identifier + number_literal)) )) && (parenthesized_expression "(uVar8 < 0x21)" ( (binary_expression "uVar8 < 0x21" identifier < number_literal) ))) )) (compound_statement "{\n                    \n                    \n    piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))();\n    return piVar5;\n  }" { (expression_statement "piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))();" (assignment_expression "piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))()" identifier = (cast_expression "(int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))()" (parenthesized_expression "(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))" ( (pointer_expression "*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354)" * (cast_expression "(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354)" ( (binary_expression "*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354" (binary_expression "*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11" (pointer_expression "*(int *)(iVar10 + -0x6c80 + uVar8 * 4)" * (cast_expression "(int *)(iVar10 + -0x6c80 + uVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x6c80 + uVar8 * 4)" ( (binary_expression "iVar10 + -0x6c80 + uVar8 * 4" (binary_expression "iVar10 + -0x6c80" identifier + number_literal) + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) + identifier) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return piVar5;" return identifier ;) })) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < IDENT) (ERROR *) > IDENT) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression IDENT + LIT) , (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 (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression LIT - IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (return_statement return IDENT ;) })) (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 ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) })) (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 ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) )) (compound_statement { (labeled_statement statement_identifier : (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) ))) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (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) ))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (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) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( ))))) ;) (return_statement return IDENT ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (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 (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 , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) < IDENT) ))) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) || (parenthesized_expression ( (binary_expression (binary_expression IDENT + (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) )))) + (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) )))) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( ))))) ;) (return_statement return IDENT ;) })) (goto_statement goto statement_identifier ;) })) })) (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 (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 = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (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) ))) ;) (labeled_statement statement_identifier : (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) (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) , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (subscript_expression IDENT [ LIT ]) ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) (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 ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT + LIT)) )) && (parenthesized_expression ( (binary_expression IDENT < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) )))) + IDENT) + LIT) )))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })))
(function_definition "int * FUN_001f0a70(int *param_1,int param_2)\n\n{\n  byte bVar1;\n  byte bVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  int *piVar5;\n  int *piVar6;\n  int iVar7;\n  uint uVar8;\n  uint extraout_v1;\n  undefined *puVar9;\n  int iVar10;\n  int iVar11;\n  byte *pbVar12;\n  uint *puVar13;\n  int iVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  ulonglong uVar17;\n  int aiStack_e0 [2];\n  undefined4 uStack_d8;\n  undefined *puStack_d0;\n  undefined1 *puStack_cc;\n  undefined1 **ppuStack_c8;\n  undefined4 uStack_c4;\n  undefined1 *local_30;\n  int local_2c;\n  undefined1 auStack_28 [20];\n  \n  puVar13 = (uint *)0x0;\n  local_30 = auStack_28;\n  (*(code *)PTR__M_construct<char_const*>_00432488)\n            (&local_30,PTR_DAT_0043226c + -0x6e10,PTR_DAT_0043226c + -0x6e03);\n                    \n  uVar3 = (**(code **)(**(int **)(param_2 + 0x48) + 8))(*(int **)(param_2 + 0x48));\n  uVar4 = (*(code *)PTR_strlen_0043677c)(uVar3);\n  if (uVar4 <= 0x7fffffffU - local_2c) {\n    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4);\n    piVar6 = piVar5 + 2;\n    *param_1 = (int)(param_1 + 2);\n    if ((int *)*piVar5 == piVar6) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }\n    else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }\n    param_1[1] = piVar5[1];\n    *piVar5 = (int)piVar6;\n    piVar5[1] = 0;\n    *(undefined1 *)(piVar5 + 2) = 0;\n    if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    return param_1;\n  }\n  puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240;\n  (*(code *)PTR___throw_length_error_00432480)();\n                    \n  if (local_30 != auStack_28) {\n    (*(code *)PTR_operator_delete_0043228c)(local_30);\n  }\n  puVar15 = PTR_FUN_00432258;\n  (*(code *)PTR_FUN_00432258)(puVar9);\n  iVar11 = 0xe34;\n  pcVar16 = *(code **)(puVar15 + 0x2417a4);\n  iVar10 = *(int *)(puVar15 + 0x241794) + -0x4fe0;\n  (*pcVar16)(iVar10,0xe34,*(int *)(puVar15 + 0x24164c) + -0x6b94);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar10 + 0x18);\n    if (-1 < *(int *)(iVar10 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }\n    if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }\n    uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n    iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13;\n    puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n    if ((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))) goto LAB_001f0d04;\n    iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c);\n    if (*(char *)(iVar10 + 0x128) == '\0') {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }\n    iVar10 = *(int *)(iVar10 + 0x94);\n    if (iVar10 != 0) {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }\n  }\n  else {\nLAB_001f0d3c:\n    iVar10 = 0xe3;\n    iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;\n    (**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);\n  }\n  iVar14 = *(int *)(pcVar16 + 0x2440c0) + 0xc20;\n  FUN_001f0c20();\n  if (*(int *)(iVar11 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar11 + 0x18);\n    if (*(int *)(iVar11 + 0x20) << 1 < 0) {\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }\n    (**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8);\n  }\n  uVar4 = 0xe3;\n  pbVar12 = (byte *)(*(int *)(iVar14 + 0x241504) + -0x6bac);\n  (**(code **)(iVar14 + 0x24165c))(*(int *)(iVar14 + 0x24164c) + -0x4fe0);\nLAB_001f0e6c:\n  iVar11 = *(int *)(iVar14 + 0x243fac) + 0xc20;\n  FUN_001f0c20();\n  iVar10 = *(int *)(iVar11 + 0x2413f0);\n  uStack_d8 = *(undefined4 *)(iVar11 + 0x243fec);\n  bVar1 = *pbVar12;\n  puStack_d0 = puVar9;\n  puStack_cc = auStack_28;\n  ppuStack_c8 = &local_30;\n  uStack_c4 = uVar3;\n  if ((char)bVar1 < '\0') {\n    uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);\n    bVar2 = pbVar12[aiStack_e0[0]];\n    pbVar12 = pbVar12 + aiStack_e0[0] + 1;\n  }\n  else {\n    bVar2 = pbVar12[1];\n    uVar17 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }\n  uVar8 = (uint)bVar2;\n  if ((char)bVar2 < '\0') {\n    (**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8);\n    uVar8 = extraout_v1;\n  }\n  else {\n    aiStack_e0[0] = 1;\n  }\n  if ((uVar17 == 0) && (uVar8 == 0)) {\n    *puVar13 = uVar4;\n    return (int *)0x1;\n  }\n  if ((uVar4 < iVar14 + 0x249468U) && (uVar8 < 0x21)) {\n                    \n                    \n    piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))();\n    return piVar5;\n  }\n  return (int *)0x0;\n}" (primitive_type "int") (pointer_declarator "* FUN_001f0a70(int *param_1,int param_2)" (* "*") (function_declarator "FUN_001f0a70(int *param_1,int param_2)" (identifier "FUN_001f0a70") (parameter_list "(int *param_1,int param_2)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")")))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  int *piVar5;\n  int *piVar6;\n  int iVar7;\n  uint uVar8;\n  uint extraout_v1;\n  undefined *puVar9;\n  int iVar10;\n  int iVar11;\n  byte *pbVar12;\n  uint *puVar13;\n  int iVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  ulonglong uVar17;\n  int aiStack_e0 [2];\n  undefined4 uStack_d8;\n  undefined *puStack_d0;\n  undefined1 *puStack_cc;\n  undefined1 **ppuStack_c8;\n  undefined4 uStack_c4;\n  undefined1 *local_30;\n  int local_2c;\n  undefined1 auStack_28 [20];\n  \n  puVar13 = (uint *)0x0;\n  local_30 = auStack_28;\n  (*(code *)PTR__M_construct<char_const*>_00432488)\n            (&local_30,PTR_DAT_0043226c + -0x6e10,PTR_DAT_0043226c + -0x6e03);\n                    \n  uVar3 = (**(code **)(**(int **)(param_2 + 0x48) + 8))(*(int **)(param_2 + 0x48));\n  uVar4 = (*(code *)PTR_strlen_0043677c)(uVar3);\n  if (uVar4 <= 0x7fffffffU - local_2c) {\n    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4);\n    piVar6 = piVar5 + 2;\n    *param_1 = (int)(param_1 + 2);\n    if ((int *)*piVar5 == piVar6) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }\n    else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }\n    param_1[1] = piVar5[1];\n    *piVar5 = (int)piVar6;\n    piVar5[1] = 0;\n    *(undefined1 *)(piVar5 + 2) = 0;\n    if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    return param_1;\n  }\n  puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240;\n  (*(code *)PTR___throw_length_error_00432480)();\n                    \n  if (local_30 != auStack_28) {\n    (*(code *)PTR_operator_delete_0043228c)(local_30);\n  }\n  puVar15 = PTR_FUN_00432258;\n  (*(code *)PTR_FUN_00432258)(puVar9);\n  iVar11 = 0xe34;\n  pcVar16 = *(code **)(puVar15 + 0x2417a4);\n  iVar10 = *(int *)(puVar15 + 0x241794) + -0x4fe0;\n  (*pcVar16)(iVar10,0xe34,*(int *)(puVar15 + 0x24164c) + -0x6b94);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar10 + 0x18);\n    if (-1 < *(int *)(iVar10 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }\n    if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }\n    uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n    iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13;\n    puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n    if ((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))) goto LAB_001f0d04;\n    iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c);\n    if (*(char *)(iVar10 + 0x128) == '\0') {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }\n    iVar10 = *(int *)(iVar10 + 0x94);\n    if (iVar10 != 0) {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }\n  }\n  else {\nLAB_001f0d3c:\n    iVar10 = 0xe3;\n    iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;\n    (**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);\n  }\n  iVar14 = *(int *)(pcVar16 + 0x2440c0) + 0xc20;\n  FUN_001f0c20();\n  if (*(int *)(iVar11 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar11 + 0x18);\n    if (*(int *)(iVar11 + 0x20) << 1 < 0) {\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }\n    (**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8);\n  }\n  uVar4 = 0xe3;\n  pbVar12 = (byte *)(*(int *)(iVar14 + 0x241504) + -0x6bac);\n  (**(code **)(iVar14 + 0x24165c))(*(int *)(iVar14 + 0x24164c) + -0x4fe0);\nLAB_001f0e6c:\n  iVar11 = *(int *)(iVar14 + 0x243fac) + 0xc20;\n  FUN_001f0c20();\n  iVar10 = *(int *)(iVar11 + 0x2413f0);\n  uStack_d8 = *(undefined4 *)(iVar11 + 0x243fec);\n  bVar1 = *pbVar12;\n  puStack_d0 = puVar9;\n  puStack_cc = auStack_28;\n  ppuStack_c8 = &local_30;\n  uStack_c4 = uVar3;\n  if ((char)bVar1 < '\0') {\n    uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);\n    bVar2 = pbVar12[aiStack_e0[0]];\n    pbVar12 = pbVar12 + aiStack_e0[0] + 1;\n  }\n  else {\n    bVar2 = pbVar12[1];\n    uVar17 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }\n  uVar8 = (uint)bVar2;\n  if ((char)bVar2 < '\0') {\n    (**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8);\n    uVar8 = extraout_v1;\n  }\n  else {\n    aiStack_e0[0] = 1;\n  }\n  if ((uVar17 == 0) && (uVar8 == 0)) {\n    *puVar13 = uVar4;\n    return (int *)0x1;\n  }\n  if ((uVar4 < iVar14 + 0x249468U) && (uVar8 < 0x21)) {\n                    \n                    \n    piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))();\n    return piVar5;\n  }\n  return (int *)0x0;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "uint extraout_v1;" (type_identifier "uint") (identifier "extraout_v1") (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "byte *pbVar12;" (type_identifier "byte") (pointer_declarator "*pbVar12" (* "*") (identifier "pbVar12")) (; ";")) (declaration "uint *puVar13;" (type_identifier "uint") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "undefined *puVar15;" (type_identifier "undefined") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "code *pcVar16;" (type_identifier "code") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "ulonglong uVar17;" (type_identifier "ulonglong") (identifier "uVar17") (; ";")) (declaration "int aiStack_e0 [2];" (primitive_type "int") (array_declarator "aiStack_e0 [2]" (identifier "aiStack_e0") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "undefined4 uStack_d8;" (type_identifier "undefined4") (identifier "uStack_d8") (; ";")) (declaration "undefined *puStack_d0;" (type_identifier "undefined") (pointer_declarator "*puStack_d0" (* "*") (identifier "puStack_d0")) (; ";")) (declaration "undefined1 *puStack_cc;" (type_identifier "undefined1") (pointer_declarator "*puStack_cc" (* "*") (identifier "puStack_cc")) (; ";")) (declaration "undefined1 **ppuStack_c8;" (type_identifier "undefined1") (pointer_declarator "**ppuStack_c8" (* "*") (pointer_declarator "*ppuStack_c8" (* "*") (identifier "ppuStack_c8"))) (; ";")) (declaration "undefined4 uStack_c4;" (type_identifier "undefined4") (identifier "uStack_c4") (; ";")) (declaration "undefined1 *local_30;" (type_identifier "undefined1") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (declaration "undefined1 auStack_28 [20];" (type_identifier "undefined1") (array_declarator "auStack_28 [20]" (identifier "auStack_28") ([ "[") (number_literal "20") (] "]")) (; ";")) (expression_statement "puVar13 = (uint *)0x0;" (assignment_expression "puVar13 = (uint *)0x0" (identifier "puVar13") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_30 = auStack_28;" (assignment_expression "local_30 = auStack_28" (identifier "local_30") (= "=") (identifier "auStack_28")) (; ";")) (expression_statement "(*(code *)PTR__M_construct<char_const*>_00432488)\n            (&local_30,PTR_DAT_0043226c + -0x6e10,PTR_DAT_0043226c + -0x6e03);" (call_expression "(*(code *)PTR__M_construct<char_const*>_00432488)\n            (&local_30,PTR_DAT_0043226c + -0x6e10,PTR_DAT_0043226c + -0x6e03)" (parenthesized_expression "(*(code *)PTR__M_construct<char_const*>_00432488)" (( "(") (binary_expression "*(code *)PTR__M_construct<char_const*>_00432488" (binary_expression "*(code *)PTR__M_construct<char_const" (pointer_expression "*(code *)PTR__M_construct" (* "*") (cast_expression "(code *)PTR__M_construct" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_construct"))) (< "<") (identifier "char_const")) (ERROR "*" (* "*")) (> ">") (identifier "_00432488")) () ")")) (argument_list "(&local_30,PTR_DAT_0043226c + -0x6e10,PTR_DAT_0043226c + -0x6e03)" (( "(") (pointer_expression "&local_30" (& "&") (identifier "local_30")) (, ",") (binary_expression "PTR_DAT_0043226c + -0x6e10" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "-0x6e10")) (, ",") (binary_expression "PTR_DAT_0043226c + -0x6e03" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "-0x6e03")) () ")"))) (; ";")) (expression_statement "uVar3 = (**(code **)(**(int **)(param_2 + 0x48) + 8))(*(int **)(param_2 + 0x48));" (assignment_expression "uVar3 = (**(code **)(**(int **)(param_2 + 0x48) + 8))(*(int **)(param_2 + 0x48))" (identifier "uVar3") (= "=") (call_expression "(**(code **)(**(int **)(param_2 + 0x48) + 8))(*(int **)(param_2 + 0x48))" (parenthesized_expression "(**(code **)(**(int **)(param_2 + 0x48) + 8))" (( "(") (pointer_expression "**(code **)(**(int **)(param_2 + 0x48) + 8)" (* "*") (pointer_expression "*(code **)(**(int **)(param_2 + 0x48) + 8)" (* "*") (cast_expression "(code **)(**(int **)(param_2 + 0x48) + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(param_2 + 0x48) + 8)" (( "(") (binary_expression "**(int **)(param_2 + 0x48) + 8" (pointer_expression "**(int **)(param_2 + 0x48)" (* "*") (pointer_expression "*(int **)(param_2 + 0x48)" (* "*") (cast_expression "(int **)(param_2 + 0x48)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x48)" (( "(") (binary_expression "param_2 + 0x48" (identifier "param_2") (+ "+") (number_literal "0x48")) () ")"))))) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(*(int **)(param_2 + 0x48))" (( "(") (pointer_expression "*(int **)(param_2 + 0x48)" (* "*") (cast_expression "(int **)(param_2 + 0x48)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x48)" (( "(") (binary_expression "param_2 + 0x48" (identifier "param_2") (+ "+") (number_literal "0x48")) () ")")))) () ")")))) (; ";")) (expression_statement "uVar4 = (*(code *)PTR_strlen_0043677c)(uVar3);" (assignment_expression "uVar4 = (*(code *)PTR_strlen_0043677c)(uVar3)" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_strlen_0043677c)(uVar3)" (parenthesized_expression "(*(code *)PTR_strlen_0043677c)" (( "(") (pointer_expression "*(code *)PTR_strlen_0043677c" (* "*") (cast_expression "(code *)PTR_strlen_0043677c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0043677c"))) () ")")) (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")")))) (; ";")) (if_statement "if (uVar4 <= 0x7fffffffU - local_2c) {\n    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4);\n    piVar6 = piVar5 + 2;\n    *param_1 = (int)(param_1 + 2);\n    if ((int *)*piVar5 == piVar6) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }\n    else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }\n    param_1[1] = piVar5[1];\n    *piVar5 = (int)piVar6;\n    piVar5[1] = 0;\n    *(undefined1 *)(piVar5 + 2) = 0;\n    if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    return param_1;\n  }" (if "if") (parenthesized_expression "(uVar4 <= 0x7fffffffU - local_2c)" (( "(") (binary_expression "uVar4 <= 0x7fffffffU - local_2c" (identifier "uVar4") (<= "<=") (binary_expression "0x7fffffffU - local_2c" (number_literal "0x7fffffffU") (- "-") (identifier "local_2c"))) () ")")) (compound_statement "{\n    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4);\n    piVar6 = piVar5 + 2;\n    *param_1 = (int)(param_1 + 2);\n    if ((int *)*piVar5 == piVar6) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }\n    else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }\n    param_1[1] = piVar5[1];\n    *piVar5 = (int)piVar6;\n    piVar5[1] = 0;\n    *(undefined1 *)(piVar5 + 2) = 0;\n    if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    return param_1;\n  }" ({ "{") (expression_statement "piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4);" (assignment_expression "piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4)" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4)" (parenthesized_expression "(*(code *)PTR__M_append_00432c50)" (( "(") (pointer_expression "*(code *)PTR__M_append_00432c50" (* "*") (cast_expression "(code *)PTR__M_append_00432c50" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_append_00432c50"))) () ")")) (argument_list "(&local_30,uVar3,uVar4)" (( "(") (pointer_expression "&local_30" (& "&") (identifier "local_30")) (, ",") (identifier "uVar3") (, ",") (identifier "uVar4") () ")"))))) (; ";")) (expression_statement "piVar6 = piVar5 + 2;" (assignment_expression "piVar6 = piVar5 + 2" (identifier "piVar6") (= "=") (binary_expression "piVar5 + 2" (identifier "piVar5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*param_1 = (int)(param_1 + 2);" (assignment_expression "*param_1 = (int)(param_1 + 2)" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(int)(param_1 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")")))) (; ";")) (if_statement "if ((int *)*piVar5 == piVar6) {\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }\n    else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }" (if "if") (parenthesized_expression "((int *)*piVar5 == piVar6)" (( "(") (binary_expression "(int *)*piVar5 == piVar6" (cast_expression "(int *)*piVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (== "==") (identifier "piVar6")) () ")")) (compound_statement "{\n      iVar14 = piVar5[3];\n      iVar11 = piVar5[4];\n      iVar10 = piVar5[5];\n      param_1[2] = *piVar6;\n      param_1[3] = iVar14;\n      param_1[4] = iVar11;\n      param_1[5] = iVar10;\n    }" ({ "{") (expression_statement "iVar14 = piVar5[3];" (assignment_expression "iVar14 = piVar5[3]" (identifier "iVar14") (= "=") (subscript_expression "piVar5[3]" (identifier "piVar5") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar11 = piVar5[4];" (assignment_expression "iVar11 = piVar5[4]" (identifier "iVar11") (= "=") (subscript_expression "piVar5[4]" (identifier "piVar5") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "iVar10 = piVar5[5];" (assignment_expression "iVar10 = piVar5[5]" (identifier "iVar10") (= "=") (subscript_expression "piVar5[5]" (identifier "piVar5") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "param_1[2] = *piVar6;" (assignment_expression "param_1[2] = *piVar6" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (expression_statement "param_1[3] = iVar14;" (assignment_expression "param_1[3] = iVar14" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar14")) (; ";")) (expression_statement "param_1[4] = iVar11;" (assignment_expression "param_1[4] = iVar11" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "param_1[5] = iVar10;" (assignment_expression "param_1[5] = iVar10" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "iVar10")) (; ";")) (} "}")) (else_clause "else {\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }" (else "else") (compound_statement "{\n      *param_1 = *piVar5;\n      param_1[2] = piVar5[2];\n    }" ({ "{") (expression_statement "*param_1 = *piVar5;" (assignment_expression "*param_1 = *piVar5" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "param_1[2] = piVar5[2];" (assignment_expression "param_1[2] = piVar5[2]" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (subscript_expression "piVar5[2]" (identifier "piVar5") ([ "[") (number_literal "2") (] "]"))) (; ";")) (} "}")))) (expression_statement "param_1[1] = piVar5[1];" (assignment_expression "param_1[1] = piVar5[1]" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*piVar5 = (int)piVar6;" (assignment_expression "*piVar5 = (int)piVar6" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (cast_expression "(int)piVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar6"))) (; ";")) (expression_statement "piVar5[1] = 0;" (assignment_expression "piVar5[1] = 0" (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(piVar5 + 2) = 0;" (assignment_expression "*(undefined1 *)(piVar5 + 2) = 0" (pointer_expression "*(undefined1 *)(piVar5 + 2)" (* "*") (cast_expression "(undefined1 *)(piVar5 + 2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 2)" (( "(") (binary_expression "piVar5 + 2" (identifier "piVar5") (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_30 != auStack_28) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }" (if "if") (parenthesized_expression "(local_30 != auStack_28)" (( "(") (binary_expression "local_30 != auStack_28" (identifier "local_30") (!= "!=") (identifier "auStack_28")) () ")")) (compound_statement "{\n      (*(code *)PTR_operator_delete_0043228c)();\n    }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_0043228c)();" (call_expression "(*(code *)PTR_operator_delete_0043228c)()" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_0043228c" (* "*") (cast_expression "(code *)PTR_operator_delete_0043228c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_0043228c"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return param_1;" (return "return") (identifier "param_1") (; ";")) (} "}"))) (expression_statement "puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240;" (assignment_expression "puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240" (identifier "puVar9") (= "=") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x6240" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x6240"))) (; ";")) (expression_statement "(*(code *)PTR___throw_length_error_00432480)();" (call_expression "(*(code *)PTR___throw_length_error_00432480)()" (parenthesized_expression "(*(code *)PTR___throw_length_error_00432480)" (( "(") (pointer_expression "*(code *)PTR___throw_length_error_00432480" (* "*") (cast_expression "(code *)PTR___throw_length_error_00432480" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___throw_length_error_00432480"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_30 != auStack_28) {\n    (*(code *)PTR_operator_delete_0043228c)(local_30);\n  }" (if "if") (parenthesized_expression "(local_30 != auStack_28)" (( "(") (binary_expression "local_30 != auStack_28" (identifier "local_30") (!= "!=") (identifier "auStack_28")) () ")")) (compound_statement "{\n    (*(code *)PTR_operator_delete_0043228c)(local_30);\n  }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_0043228c)(local_30);" (call_expression "(*(code *)PTR_operator_delete_0043228c)(local_30)" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_0043228c" (* "*") (cast_expression "(code *)PTR_operator_delete_0043228c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_0043228c"))) () ")")) (argument_list "(local_30)" (( "(") (identifier "local_30") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar15 = PTR_FUN_00432258;" (assignment_expression "puVar15 = PTR_FUN_00432258" (identifier "puVar15") (= "=") (identifier "PTR_FUN_00432258")) (; ";")) (expression_statement "(*(code *)PTR_FUN_00432258)(puVar9);" (call_expression "(*(code *)PTR_FUN_00432258)(puVar9)" (parenthesized_expression "(*(code *)PTR_FUN_00432258)" (( "(") (pointer_expression "*(code *)PTR_FUN_00432258" (* "*") (cast_expression "(code *)PTR_FUN_00432258" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_00432258"))) () ")")) (argument_list "(puVar9)" (( "(") (identifier "puVar9") () ")"))) (; ";")) (expression_statement "iVar11 = 0xe34;" (assignment_expression "iVar11 = 0xe34" (identifier "iVar11") (= "=") (number_literal "0xe34")) (; ";")) (expression_statement "pcVar16 = *(code **)(puVar15 + 0x2417a4);" (assignment_expression "pcVar16 = *(code **)(puVar15 + 0x2417a4)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(puVar15 + 0x2417a4)" (* "*") (cast_expression "(code **)(puVar15 + 0x2417a4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x2417a4)" (( "(") (binary_expression "puVar15 + 0x2417a4" (identifier "puVar15") (+ "+") (number_literal "0x2417a4")) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)(puVar15 + 0x241794) + -0x4fe0;" (assignment_expression "iVar10 = *(int *)(puVar15 + 0x241794) + -0x4fe0" (identifier "iVar10") (= "=") (binary_expression "*(int *)(puVar15 + 0x241794) + -0x4fe0" (pointer_expression "*(int *)(puVar15 + 0x241794)" (* "*") (cast_expression "(int *)(puVar15 + 0x241794)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x241794)" (( "(") (binary_expression "puVar15 + 0x241794" (identifier "puVar15") (+ "+") (number_literal "0x241794")) () ")")))) (+ "+") (number_literal "-0x4fe0"))) (; ";")) (expression_statement "(*pcVar16)(iVar10,0xe34,*(int *)(puVar15 + 0x24164c) + -0x6b94);" (call_expression "(*pcVar16)(iVar10,0xe34,*(int *)(puVar15 + 0x24164c) + -0x6b94)" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "(iVar10,0xe34,*(int *)(puVar15 + 0x24164c) + -0x6b94)" (( "(") (identifier "iVar10") (, ",") (number_literal "0xe34") (, ",") (binary_expression "*(int *)(puVar15 + 0x24164c) + -0x6b94" (pointer_expression "*(int *)(puVar15 + 0x24164c)" (* "*") (cast_expression "(int *)(puVar15 + 0x24164c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x24164c)" (( "(") (binary_expression "puVar15 + 0x24164c" (identifier "puVar15") (+ "+") (number_literal "0x24164c")) () ")")))) (+ "+") (number_literal "-0x6b94")) () ")"))) (; ";")) (if_statement "if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar10 + 0x18);\n    if (-1 < *(int *)(iVar10 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }\n    if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }\n    uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n    iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13;\n    puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n    if ((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))) goto LAB_001f0d04;\n    iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c);\n    if (*(char *)(iVar10 + 0x128) == '\0') {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }\n    iVar10 = *(int *)(iVar10 + 0x94);\n    if (iVar10 != 0) {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }\n  }\n  else {\nLAB_001f0d3c:\n    iVar10 = 0xe3;\n    iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;\n    (**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar10 + 0x20) << 2 < 0)" (( "(") (binary_expression "*(int *)(iVar10 + 0x20) << 2 < 0" (binary_expression "*(int *)(iVar10 + 0x20) << 2" (pointer_expression "*(int *)(iVar10 + 0x20)" (* "*") (cast_expression "(int *)(iVar10 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x20)" (( "(") (binary_expression "iVar10 + 0x20" (identifier "iVar10") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    puVar13 = *(uint **)(iVar10 + 0x18);\n    if (-1 < *(int *)(iVar10 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }\n    if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }\n    uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n    iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13;\n    puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14);\n    if ((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))) goto LAB_001f0d04;\n    iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c);\n    if (*(char *)(iVar10 + 0x128) == '\0') {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }\n    iVar10 = *(int *)(iVar10 + 0x94);\n    if (iVar10 != 0) {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }\n  }" ({ "{") (expression_statement "puVar13 = *(uint **)(iVar10 + 0x18);" (assignment_expression "puVar13 = *(uint **)(iVar10 + 0x18)" (identifier "puVar13") (= "=") (pointer_expression "*(uint **)(iVar10 + 0x18)" (* "*") (cast_expression "(uint **)(iVar10 + 0x18)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar10 + 0x18)" (( "(") (binary_expression "iVar10 + 0x18" (identifier "iVar10") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (-1 < *(int *)(iVar10 + 0x20) << 1) {\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar10 + 0x20) << 1)" (( "(") (binary_expression "-1 < *(int *)(iVar10 + 0x20) << 1" (number_literal "-1") (< "<") (binary_expression "*(int *)(iVar10 + 0x20) << 1" (pointer_expression "*(int *)(iVar10 + 0x20)" (* "*") (cast_expression "(int *)(iVar10 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x20)" (( "(") (binary_expression "iVar10 + 0x20" (identifier "iVar10") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1"))) () ")")) (compound_statement "{\nLAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;\n      goto LAB_001f0d3c;\n    }" ({ "{") (labeled_statement "LAB_001f0d20:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;" (statement_identifier "LAB_001f0d20") (: ":") (expression_statement "(**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)\n      ;" (call_expression "(**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)" (parenthesized_expression "(**(code **)(pcVar16 + 0x241770))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x241770)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x241770)" (* "*") (cast_expression "(code **)(pcVar16 + 0x241770)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x241770)" (( "(") (binary_expression "pcVar16 + 0x241770" (identifier "pcVar16") (+ "+") (number_literal "0x241770")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x241760) + -0x4fe0" (pointer_expression "*(int *)(pcVar16 + 0x241760)" (* "*") (cast_expression "(int *)(pcVar16 + 0x241760)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x241760)" (( "(") (binary_expression "pcVar16 + 0x241760" (identifier "pcVar16") (+ "+") (number_literal "0x241760")) () ")")))) (+ "+") (number_literal "-0x4fe0")) (, ",") (number_literal "0xcf") (, ",") (binary_expression "*(int *)(pcVar16 + 0x241618) + -0x6bb8" (pointer_expression "*(int *)(pcVar16 + 0x241618)" (* "*") (cast_expression "(int *)(pcVar16 + 0x241618)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x241618)" (( "(") (binary_expression "pcVar16 + 0x241618" (identifier "pcVar16") (+ "+") (number_literal "0x241618")) () ")")))) (+ "+") (number_literal "-0x6bb8")) () ")"))) (; ";"))) (goto_statement "goto LAB_001f0d3c;" (goto "goto") (statement_identifier "LAB_001f0d3c") (; ";")) (} "}"))) (if_statement "if ((int)puVar13 < 0) {\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }" (if "if") (parenthesized_expression "((int)puVar13 < 0)" (( "(") (binary_expression "(int)puVar13 < 0" (cast_expression "(int)puVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar13")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;\n      goto LAB_001f0d20;\n    }" ({ "{") (labeled_statement "LAB_001f0d04:\n      (**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;" (statement_identifier "LAB_001f0d04") (: ":") (expression_statement "(**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)\n      ;" (call_expression "(**(code **)(pcVar16 + 0x241770))\n                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)" (parenthesized_expression "(**(code **)(pcVar16 + 0x241770))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x241770)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x241770)" (* "*") (cast_expression "(code **)(pcVar16 + 0x241770)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x241770)" (( "(") (binary_expression "pcVar16 + 0x241770" (identifier "pcVar16") (+ "+") (number_literal "0x241770")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x241760) + -0x4fe0" (pointer_expression "*(int *)(pcVar16 + 0x241760)" (* "*") (cast_expression "(int *)(pcVar16 + 0x241760)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x241760)" (( "(") (binary_expression "pcVar16 + 0x241760" (identifier "pcVar16") (+ "+") (number_literal "0x241760")) () ")")))) (+ "+") (number_literal "-0x4fe0")) (, ",") (number_literal "0x6f") (, ",") (binary_expression "*(int *)(pcVar16 + 0x241618) + -0x6bc8" (pointer_expression "*(int *)(pcVar16 + 0x241618)" (* "*") (cast_expression "(int *)(pcVar16 + 0x241618)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x241618)" (( "(") (binary_expression "pcVar16 + 0x241618" (identifier "pcVar16") (+ "+") (number_literal "0x241618")) () ")")))) (+ "+") (number_literal "-0x6bc8")) () ")"))) (; ";"))) (goto_statement "goto LAB_001f0d20;" (goto "goto") (statement_identifier "LAB_001f0d20") (; ";")) (} "}"))) (expression_statement "uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);" (assignment_expression "uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c)" (identifier "uVar4") (= "=") (binary_expression "*(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(uint *)(iVar10 + 0x14)" (* "*") (cast_expression "(uint *)(iVar10 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x14)" (( "(") (binary_expression "iVar10 + 0x14" (identifier "iVar10") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar10 + 0x1c)" (* "*") (cast_expression "(int *)(iVar10 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x1c)" (( "(") (binary_expression "iVar10 + 0x1c" (identifier "iVar10") (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (expression_statement "iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13;" (assignment_expression "iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13" (identifier "iVar14") (= "=") (binary_expression "(uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13" (call_expression "(uint)(uVar4 < *(uint *)(iVar10 + 0x14))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar4 < *(uint *)(iVar10 + 0x14))" (( "(") (binary_expression "uVar4 < *(uint *)(iVar10 + 0x14)" (identifier "uVar4") (< "<") (pointer_expression "*(uint *)(iVar10 + 0x14)" (* "*") (cast_expression "(uint *)(iVar10 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x14)" (( "(") (binary_expression "iVar10 + 0x14" (identifier "iVar10") (+ "+") (number_literal "0x14")) () ")"))))) () ")"))) (+ "+") (cast_expression "(int)puVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar13")))) (; ";")) (expression_statement "puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14);" (assignment_expression "puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14)" (identifier "puVar13") (= "=") (cast_expression "(uint *)(uint)(*(int *)(iVar11 + 8) < iVar14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(*(int *)(iVar11 + 8) < iVar14)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar11 + 8) < iVar14)" (( "(") (binary_expression "*(int *)(iVar11 + 8) < iVar14" (pointer_expression "*(int *)(iVar11 + 8)" (* "*") (cast_expression "(int *)(iVar11 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 8)" (( "(") (binary_expression "iVar11 + 8" (identifier "iVar11") (+ "+") (number_literal "8")) () ")")))) (< "<") (identifier "iVar14")) () ")"))))) (; ";")) (if_statement "if ((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))) goto LAB_001f0d04;" (if "if") (parenthesized_expression "((puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4))))" (( "(") (binary_expression "(puVar13 != (uint *)0x0) ||\n       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))" (parenthesized_expression "(puVar13 != (uint *)0x0)" (( "(") (binary_expression "puVar13 != (uint *)0x0" (identifier "puVar13") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))" (( "(") (parenthesized_expression "(*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4))" (( "(") (binary_expression "*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)" (binary_expression "*(int *)(iVar11 + 8) == iVar14" (pointer_expression "*(int *)(iVar11 + 8)" (* "*") (cast_expression "(int *)(iVar11 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 8)" (( "(") (binary_expression "iVar11 + 8" (identifier "iVar11") (+ "+") (number_literal "8")) () ")")))) (== "==") (identifier "iVar14")) (&& "&&") (parenthesized_expression "(*(uint *)(iVar11 + 0xc) < uVar4)" (( "(") (binary_expression "*(uint *)(iVar11 + 0xc) < uVar4" (pointer_expression "*(uint *)(iVar11 + 0xc)" (* "*") (cast_expression "(uint *)(iVar11 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xc)" (( "(") (binary_expression "iVar11 + 0xc" (identifier "iVar11") (+ "+") (number_literal "0xc")) () ")")))) (< "<") (identifier "uVar4")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_001f0d04;" (goto "goto") (statement_identifier "LAB_001f0d04") (; ";"))) (expression_statement "iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c);" (assignment_expression "iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c)" (identifier "iVar11") (= "=") (binary_expression "*(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(int *)(iVar11 + 0x10)" (* "*") (cast_expression "(int *)(iVar11 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x10)" (( "(") (binary_expression "iVar11 + 0x10" (identifier "iVar11") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar10 + 0x1c)" (* "*") (cast_expression "(int *)(iVar10 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x1c)" (( "(") (binary_expression "iVar10 + 0x1c" (identifier "iVar10") (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (if_statement "if (*(char *)(iVar10 + 0x128) == '\0') {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }" (if "if") (parenthesized_expression "(*(char *)(iVar10 + 0x128) == '\0')" (( "(") (binary_expression "*(char *)(iVar10 + 0x128) == '\0'" (pointer_expression "*(char *)(iVar10 + 0x128)" (* "*") (cast_expression "(char *)(iVar10 + 0x128)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x128)" (( "(") (binary_expression "iVar10 + 0x128" (identifier "iVar10") (+ "+") (number_literal "0x128")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));\n      return piVar5;\n    }" ({ "{") (expression_statement "piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));" (assignment_expression "piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc))" (identifier "piVar5") (= "=") (cast_expression "(int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc))" (parenthesized_expression "(**(code **)(pcVar16 + 0x245b34))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x245b34)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x245b34)" (* "*") (cast_expression "(code **)(pcVar16 + 0x245b34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x245b34)" (( "(") (binary_expression "pcVar16 + 0x245b34" (identifier "pcVar16") (+ "+") (number_literal "0x245b34")) () ")"))))) () ")")) (argument_list "(iVar11,*(undefined4 *)(iVar10 + 0xfc))" (( "(") (identifier "iVar11") (, ",") (pointer_expression "*(undefined4 *)(iVar10 + 0xfc)" (* "*") (cast_expression "(undefined4 *)(iVar10 + 0xfc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0xfc)" (( "(") (binary_expression "iVar10 + 0xfc" (identifier "iVar10") (+ "+") (number_literal "0xfc")) () ")")))) () ")"))))) (; ";")) (return_statement "return piVar5;" (return "return") (identifier "piVar5") (; ";")) (} "}"))) (expression_statement "iVar10 = *(int *)(iVar10 + 0x94);" (assignment_expression "iVar10 = *(int *)(iVar10 + 0x94)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar10 + 0x94)" (* "*") (cast_expression "(int *)(iVar10 + 0x94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x94)" (( "(") (binary_expression "iVar10 + 0x94" (identifier "iVar10") (+ "+") (number_literal "0x94")) () ")"))))) (; ";")) (if_statement "if (iVar10 != 0) {\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }" (if "if") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();\n      return piVar5;\n    }" ({ "{") (expression_statement "piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();" (assignment_expression "piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))()" (identifier "piVar5") (= "=") (cast_expression "(int *)(**(code **)(pcVar16 + 0x245b34))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar16 + 0x245b34))()" (parenthesized_expression "(**(code **)(pcVar16 + 0x245b34))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x245b34)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x245b34)" (* "*") (cast_expression "(code **)(pcVar16 + 0x245b34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x245b34)" (( "(") (binary_expression "pcVar16 + 0x245b34" (identifier "pcVar16") (+ "+") (number_literal "0x245b34")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return piVar5;" (return "return") (identifier "piVar5") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_001f0d3c:\n    iVar10 = 0xe3;\n    iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;\n    (**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);\n  }" (else "else") (compound_statement "{\nLAB_001f0d3c:\n    iVar10 = 0xe3;\n    iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;\n    (**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);\n  }" ({ "{") (labeled_statement "LAB_001f0d3c:\n    iVar10 = 0xe3;" (statement_identifier "LAB_001f0d3c") (: ":") (expression_statement "iVar10 = 0xe3;" (assignment_expression "iVar10 = 0xe3" (identifier "iVar10") (= "=") (number_literal "0xe3")) (; ";"))) (expression_statement "iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;" (assignment_expression "iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0" (identifier "iVar11") (= "=") (binary_expression "*(int *)(pcVar16 + 0x241760) + -0x4fe0" (pointer_expression "*(int *)(pcVar16 + 0x241760)" (* "*") (cast_expression "(int *)(pcVar16 + 0x241760)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x241760)" (( "(") (binary_expression "pcVar16 + 0x241760" (identifier "pcVar16") (+ "+") (number_literal "0x241760")) () ")")))) (+ "+") (number_literal "-0x4fe0"))) (; ";")) (expression_statement "(**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);" (call_expression "(**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac)" (parenthesized_expression "(**(code **)(pcVar16 + 0x241770))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x241770)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x241770)" (* "*") (cast_expression "(code **)(pcVar16 + 0x241770)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x241770)" (( "(") (binary_expression "pcVar16 + 0x241770" (identifier "pcVar16") (+ "+") (number_literal "0x241770")) () ")"))))) () ")")) (argument_list "(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac)" (( "(") (identifier "iVar11") (, ",") (number_literal "0xe3") (, ",") (binary_expression "*(int *)(pcVar16 + 0x241618) + -0x6bac" (pointer_expression "*(int *)(pcVar16 + 0x241618)" (* "*") (cast_expression "(int *)(pcVar16 + 0x241618)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x241618)" (( "(") (binary_expression "pcVar16 + 0x241618" (identifier "pcVar16") (+ "+") (number_literal "0x241618")) () ")")))) (+ "+") (number_literal "-0x6bac")) () ")"))) (; ";")) (} "}")))) (expression_statement "iVar14 = *(int *)(pcVar16 + 0x2440c0) + 0xc20;" (assignment_expression "iVar14 = *(int *)(pcVar16 + 0x2440c0) + 0xc20" (identifier "iVar14") (= "=") (binary_expression "*(int *)(pcVar16 + 0x2440c0) + 0xc20" (pointer_expression "*(int *)(pcVar16 + 0x2440c0)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2440c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2440c0)" (( "(") (binary_expression "pcVar16 + 0x2440c0" (identifier "pcVar16") (+ "+") (number_literal "0x2440c0")) () ")")))) (+ "+") (number_literal "0xc20"))) (; ";")) (expression_statement "FUN_001f0c20();" (call_expression "FUN_001f0c20()" (identifier "FUN_001f0c20") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*(int *)(iVar11 + 0x20) << 2 < 0) {\n    puVar13 = *(uint **)(iVar11 + 0x18);\n    if (*(int *)(iVar11 + 0x20) << 1 < 0) {\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }\n    (**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8);\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar11 + 0x20) << 2 < 0)" (( "(") (binary_expression "*(int *)(iVar11 + 0x20) << 2 < 0" (binary_expression "*(int *)(iVar11 + 0x20) << 2" (pointer_expression "*(int *)(iVar11 + 0x20)" (* "*") (cast_expression "(int *)(iVar11 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x20)" (( "(") (binary_expression "iVar11 + 0x20" (identifier "iVar11") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    puVar13 = *(uint **)(iVar11 + 0x18);\n    if (*(int *)(iVar11 + 0x20) << 1 < 0) {\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }\n    (**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8);\n  }" ({ "{") (expression_statement "puVar13 = *(uint **)(iVar11 + 0x18);" (assignment_expression "puVar13 = *(uint **)(iVar11 + 0x18)" (identifier "puVar13") (= "=") (pointer_expression "*(uint **)(iVar11 + 0x18)" (* "*") (cast_expression "(uint **)(iVar11 + 0x18)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x18)" (( "(") (binary_expression "iVar11 + 0x18" (identifier "iVar11") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar11 + 0x20) << 1 < 0) {\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar11 + 0x20) << 1 < 0)" (( "(") (binary_expression "*(int *)(iVar11 + 0x20) << 1 < 0" (binary_expression "*(int *)(iVar11 + 0x20) << 1" (pointer_expression "*(int *)(iVar11 + 0x20)" (* "*") (cast_expression "(int *)(iVar11 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x20)" (( "(") (binary_expression "iVar11 + 0x20" (identifier "iVar11") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      pbVar12 = *(byte **)(iVar11 + 0x14);\n      if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }\n      (**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);\n    }" ({ "{") (expression_statement "pbVar12 = *(byte **)(iVar11 + 0x14);" (assignment_expression "pbVar12 = *(byte **)(iVar11 + 0x14)" (identifier "pbVar12") (= "=") (pointer_expression "*(byte **)(iVar11 + 0x14)" (* "*") (cast_expression "(byte **)(iVar11 + 0x14)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x14)" (( "(") (binary_expression "iVar11 + 0x14" (identifier "iVar11") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (-1 < (int)puVar13) {\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }" (if "if") (parenthesized_expression "(-1 < (int)puVar13)" (( "(") (binary_expression "-1 < (int)puVar13" (number_literal "-1") (< "<") (cast_expression "(int)puVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar13"))) () ")")) (compound_statement "{\n        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;\n        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);\n        if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }\n      }" ({ "{") (expression_statement "iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;" (assignment_expression "iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13" (identifier "iVar7") (= "=") (binary_expression "(uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13" (call_expression "(uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12)" (( "(") (binary_expression "pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12" (binary_expression "pbVar12 + *(int *)(iVar11 + 0x1c)" (identifier "pbVar12") (+ "+") (pointer_expression "*(int *)(iVar11 + 0x1c)" (* "*") (cast_expression "(int *)(iVar11 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1c)" (( "(") (binary_expression "iVar11 + 0x1c" (identifier "iVar11") (+ "+") (number_literal "0x1c")) () ")"))))) (< "<") (identifier "pbVar12")) () ")"))) (+ "+") (cast_expression "(int)puVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar13")))) (; ";")) (expression_statement "puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);" (assignment_expression "puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7)" (identifier "puVar13") (= "=") (cast_expression "(uint *)(uint)(*(int *)(iVar10 + 8) < iVar7)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(*(int *)(iVar10 + 8) < iVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar10 + 8) < iVar7)" (( "(") (binary_expression "*(int *)(iVar10 + 8) < iVar7" (pointer_expression "*(int *)(iVar10 + 8)" (* "*") (cast_expression "(int *)(iVar10 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 8)" (( "(") (binary_expression "iVar10 + 8" (identifier "iVar10") (+ "+") (number_literal "8")) () ")")))) (< "<") (identifier "iVar7")) () ")"))))) (; ";")) (if_statement "if ((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }" (if "if") (parenthesized_expression "((puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc)))))" (( "(") (binary_expression "(puVar13 == (uint *)0x0) &&\n           ((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))" (parenthesized_expression "(puVar13 == (uint *)0x0)" (( "(") (binary_expression "puVar13 == (uint *)0x0" (identifier "puVar13") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))" (( "(") (parenthesized_expression "(*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc)))" (( "(") (binary_expression "*(int *)(iVar10 + 8) != iVar7 ||\n            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))" (binary_expression "*(int *)(iVar10 + 8) != iVar7" (pointer_expression "*(int *)(iVar10 + 8)" (* "*") (cast_expression "(int *)(iVar10 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 8)" (( "(") (binary_expression "iVar10 + 8" (identifier "iVar10") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (identifier "iVar7")) (|| "||") (parenthesized_expression "(pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))" (( "(") (binary_expression "pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc)" (binary_expression "pbVar12 + *(int *)(iVar11 + 0x1c)" (identifier "pbVar12") (+ "+") (pointer_expression "*(int *)(iVar11 + 0x1c)" (* "*") (cast_expression "(int *)(iVar11 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1c)" (( "(") (binary_expression "iVar11 + 0x1c" (identifier "iVar11") (+ "+") (number_literal "0x1c")) () ")"))))) (<= "<=") (pointer_expression "*(byte **)(iVar10 + 0xc)" (* "*") (cast_expression "(byte **)(iVar10 + 0xc)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar10 + 0xc)" (( "(") (binary_expression "iVar10 + 0xc" (identifier "iVar10") (+ "+") (number_literal "0xc")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }\n          uVar4 = *(uint *)(iVar11 + 0x94);\n          if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }\n          goto LAB_001f0e6c;\n        }" ({ "{") (if_statement "if (*(char *)(iVar11 + 0x10c) == '\0') {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }" (if "if") (parenthesized_expression "(*(char *)(iVar11 + 0x10c) == '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x10c) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x10c)" (* "*") (cast_expression "(char *)(iVar11 + 0x10c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x10c)" (( "(") (binary_expression "iVar11 + 0x10c" (identifier "iVar11") (+ "+") (number_literal "0x10c")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));\n            return piVar5;\n          }" ({ "{") (expression_statement "piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc));" (assignment_expression "piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc))" (identifier "piVar5") (= "=") (cast_expression "(int *)(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(iVar14 + 0x245a20))\n                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc))" (parenthesized_expression "(**(code **)(iVar14 + 0x245a20))" (( "(") (pointer_expression "**(code **)(iVar14 + 0x245a20)" (* "*") (pointer_expression "*(code **)(iVar14 + 0x245a20)" (* "*") (cast_expression "(code **)(iVar14 + 0x245a20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar14 + 0x245a20)" (( "(") (binary_expression "iVar14 + 0x245a20" (identifier "iVar14") (+ "+") (number_literal "0x245a20")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),\n                                       *(undefined4 *)(iVar11 + 0xfc))" (( "(") (binary_expression "*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c)" (pointer_expression "*(int *)(iVar10 + 0x10)" (* "*") (cast_expression "(int *)(iVar10 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x10)" (( "(") (binary_expression "iVar10 + 0x10" (identifier "iVar10") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar11 + 0x1c)" (* "*") (cast_expression "(int *)(iVar11 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1c)" (( "(") (binary_expression "iVar11 + 0x1c" (identifier "iVar11") (+ "+") (number_literal "0x1c")) () ")"))))) (, ",") (pointer_expression "*(undefined4 *)(iVar11 + 0xfc)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0xfc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xfc)" (( "(") (binary_expression "iVar11 + 0xfc" (identifier "iVar11") (+ "+") (number_literal "0xfc")) () ")")))) () ")"))))) (; ";")) (return_statement "return piVar5;" (return "return") (identifier "piVar5") (; ";")) (} "}"))) (expression_statement "uVar4 = *(uint *)(iVar11 + 0x94);" (assignment_expression "uVar4 = *(uint *)(iVar11 + 0x94)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(iVar11 + 0x94)" (* "*") (cast_expression "(uint *)(iVar11 + 0x94)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x94)" (( "(") (binary_expression "iVar11 + 0x94" (identifier "iVar11") (+ "+") (number_literal "0x94")) () ")"))))) (; ";")) (if_statement "if (uVar4 != 0) {\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }" (if "if") (parenthesized_expression "(uVar4 != 0)" (( "(") (binary_expression "uVar4 != 0" (identifier "uVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();\n            return piVar5;\n          }" ({ "{") (expression_statement "piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();" (assignment_expression "piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))()" (identifier "piVar5") (= "=") (cast_expression "(int *)(**(code **)(iVar14 + 0x245a20))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(iVar14 + 0x245a20))()" (parenthesized_expression "(**(code **)(iVar14 + 0x245a20))" (( "(") (pointer_expression "**(code **)(iVar14 + 0x245a20)" (* "*") (pointer_expression "*(code **)(iVar14 + 0x245a20)" (* "*") (cast_expression "(code **)(iVar14 + 0x245a20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar14 + 0x245a20)" (( "(") (binary_expression "iVar14 + 0x245a20" (identifier "iVar14") (+ "+") (number_literal "0x245a20")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return piVar5;" (return "return") (identifier "piVar5") (; ";")) (} "}"))) (goto_statement "goto LAB_001f0e6c;" (goto "goto") (statement_identifier "LAB_001f0e6c") (; ";")) (} "}"))) (} "}"))) (expression_statement "(**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);" (call_expression "(**(code **)(iVar14 + 0x24165c))\n                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8)" (parenthesized_expression "(**(code **)(iVar14 + 0x24165c))" (( "(") (pointer_expression "**(code **)(iVar14 + 0x24165c)" (* "*") (pointer_expression "*(code **)(iVar14 + 0x24165c)" (* "*") (cast_expression "(code **)(iVar14 + 0x24165c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar14 + 0x24165c)" (( "(") (binary_expression "iVar14 + 0x24165c" (identifier "iVar14") (+ "+") (number_literal "0x24165c")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8)" (( "(") (binary_expression "*(int *)(iVar14 + 0x24164c) + -0x4fe0" (pointer_expression "*(int *)(iVar14 + 0x24164c)" (* "*") (cast_expression "(int *)(iVar14 + 0x24164c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x24164c)" (( "(") (binary_expression "iVar14 + 0x24164c" (identifier "iVar14") (+ "+") (number_literal "0x24164c")) () ")")))) (+ "+") (number_literal "-0x4fe0")) (, ",") (number_literal "0x6f") (, ",") (binary_expression "*(int *)(iVar14 + 0x241504) + -0x6bc8" (pointer_expression "*(int *)(iVar14 + 0x241504)" (* "*") (cast_expression "(int *)(iVar14 + 0x241504)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x241504)" (( "(") (binary_expression "iVar14 + 0x241504" (identifier "iVar14") (+ "+") (number_literal "0x241504")) () ")")))) (+ "+") (number_literal "-0x6bc8")) () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8);" (call_expression "(**(code **)(iVar14 + 0x24165c))\n              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8)" (parenthesized_expression "(**(code **)(iVar14 + 0x24165c))" (( "(") (pointer_expression "**(code **)(iVar14 + 0x24165c)" (* "*") (pointer_expression "*(code **)(iVar14 + 0x24165c)" (* "*") (cast_expression "(code **)(iVar14 + 0x24165c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar14 + 0x24165c)" (( "(") (binary_expression "iVar14 + 0x24165c" (identifier "iVar14") (+ "+") (number_literal "0x24165c")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8)" (( "(") (binary_expression "*(int *)(iVar14 + 0x24164c) + -0x4fe0" (pointer_expression "*(int *)(iVar14 + 0x24164c)" (* "*") (cast_expression "(int *)(iVar14 + 0x24164c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x24164c)" (( "(") (binary_expression "iVar14 + 0x24164c" (identifier "iVar14") (+ "+") (number_literal "0x24164c")) () ")")))) (+ "+") (number_literal "-0x4fe0")) (, ",") (number_literal "0xcf") (, ",") (binary_expression "*(int *)(iVar14 + 0x241504) + -0x6bb8" (pointer_expression "*(int *)(iVar14 + 0x241504)" (* "*") (cast_expression "(int *)(iVar14 + 0x241504)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x241504)" (( "(") (binary_expression "iVar14 + 0x241504" (identifier "iVar14") (+ "+") (number_literal "0x241504")) () ")")))) (+ "+") (number_literal "-0x6bb8")) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar4 = 0xe3;" (assignment_expression "uVar4 = 0xe3" (identifier "uVar4") (= "=") (number_literal "0xe3")) (; ";")) (expression_statement "pbVar12 = (byte *)(*(int *)(iVar14 + 0x241504) + -0x6bac);" (assignment_expression "pbVar12 = (byte *)(*(int *)(iVar14 + 0x241504) + -0x6bac)" (identifier "pbVar12") (= "=") (cast_expression "(byte *)(*(int *)(iVar14 + 0x241504) + -0x6bac)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar14 + 0x241504) + -0x6bac)" (( "(") (binary_expression "*(int *)(iVar14 + 0x241504) + -0x6bac" (pointer_expression "*(int *)(iVar14 + 0x241504)" (* "*") (cast_expression "(int *)(iVar14 + 0x241504)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x241504)" (( "(") (binary_expression "iVar14 + 0x241504" (identifier "iVar14") (+ "+") (number_literal "0x241504")) () ")")))) (+ "+") (number_literal "-0x6bac")) () ")")))) (; ";")) (expression_statement "(**(code **)(iVar14 + 0x24165c))(*(int *)(iVar14 + 0x24164c) + -0x4fe0);" (call_expression "(**(code **)(iVar14 + 0x24165c))(*(int *)(iVar14 + 0x24164c) + -0x4fe0)" (parenthesized_expression "(**(code **)(iVar14 + 0x24165c))" (( "(") (pointer_expression "**(code **)(iVar14 + 0x24165c)" (* "*") (pointer_expression "*(code **)(iVar14 + 0x24165c)" (* "*") (cast_expression "(code **)(iVar14 + 0x24165c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar14 + 0x24165c)" (( "(") (binary_expression "iVar14 + 0x24165c" (identifier "iVar14") (+ "+") (number_literal "0x24165c")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar14 + 0x24164c) + -0x4fe0)" (( "(") (binary_expression "*(int *)(iVar14 + 0x24164c) + -0x4fe0" (pointer_expression "*(int *)(iVar14 + 0x24164c)" (* "*") (cast_expression "(int *)(iVar14 + 0x24164c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x24164c)" (( "(") (binary_expression "iVar14 + 0x24164c" (identifier "iVar14") (+ "+") (number_literal "0x24164c")) () ")")))) (+ "+") (number_literal "-0x4fe0")) () ")"))) (; ";")) (labeled_statement "LAB_001f0e6c:\n  iVar11 = *(int *)(iVar14 + 0x243fac) + 0xc20;" (statement_identifier "LAB_001f0e6c") (: ":") (expression_statement "iVar11 = *(int *)(iVar14 + 0x243fac) + 0xc20;" (assignment_expression "iVar11 = *(int *)(iVar14 + 0x243fac) + 0xc20" (identifier "iVar11") (= "=") (binary_expression "*(int *)(iVar14 + 0x243fac) + 0xc20" (pointer_expression "*(int *)(iVar14 + 0x243fac)" (* "*") (cast_expression "(int *)(iVar14 + 0x243fac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x243fac)" (( "(") (binary_expression "iVar14 + 0x243fac" (identifier "iVar14") (+ "+") (number_literal "0x243fac")) () ")")))) (+ "+") (number_literal "0xc20"))) (; ";"))) (expression_statement "FUN_001f0c20();" (call_expression "FUN_001f0c20()" (identifier "FUN_001f0c20") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar10 = *(int *)(iVar11 + 0x2413f0);" (assignment_expression "iVar10 = *(int *)(iVar11 + 0x2413f0)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar11 + 0x2413f0)" (* "*") (cast_expression "(int *)(iVar11 + 0x2413f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x2413f0)" (( "(") (binary_expression "iVar11 + 0x2413f0" (identifier "iVar11") (+ "+") (number_literal "0x2413f0")) () ")"))))) (; ";")) (expression_statement "uStack_d8 = *(undefined4 *)(iVar11 + 0x243fec);" (assignment_expression "uStack_d8 = *(undefined4 *)(iVar11 + 0x243fec)" (identifier "uStack_d8") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x243fec)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x243fec)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x243fec)" (( "(") (binary_expression "iVar11 + 0x243fec" (identifier "iVar11") (+ "+") (number_literal "0x243fec")) () ")"))))) (; ";")) (expression_statement "bVar1 = *pbVar12;" (assignment_expression "bVar1 = *pbVar12" (identifier "bVar1") (= "=") (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12"))) (; ";")) (expression_statement "puStack_d0 = puVar9;" (assignment_expression "puStack_d0 = puVar9" (identifier "puStack_d0") (= "=") (identifier "puVar9")) (; ";")) (expression_statement "puStack_cc = auStack_28;" (assignment_expression "puStack_cc = auStack_28" (identifier "puStack_cc") (= "=") (identifier "auStack_28")) (; ";")) (expression_statement "ppuStack_c8 = &local_30;" (assignment_expression "ppuStack_c8 = &local_30" (identifier "ppuStack_c8") (= "=") (pointer_expression "&local_30" (& "&") (identifier "local_30"))) (; ";")) (expression_statement "uStack_c4 = uVar3;" (assignment_expression "uStack_c4 = uVar3" (identifier "uStack_c4") (= "=") (identifier "uVar3")) (; ";")) (if_statement "if ((char)bVar1 < '\0') {\n    uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);\n    bVar2 = pbVar12[aiStack_e0[0]];\n    pbVar12 = pbVar12 + aiStack_e0[0] + 1;\n  }\n  else {\n    bVar2 = pbVar12[1];\n    uVar17 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }" (if "if") (parenthesized_expression "((char)bVar1 < '\0')" (( "(") (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar1")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);\n    bVar2 = pbVar12[aiStack_e0[0]];\n    pbVar12 = pbVar12 + aiStack_e0[0] + 1;\n  }" ({ "{") (expression_statement "uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);" (assignment_expression "uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1)" (identifier "uVar17") (= "=") (call_expression "(**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1)" (parenthesized_expression "(**(code **)(iVar11 + 0x241cf8))" (( "(") (pointer_expression "**(code **)(iVar11 + 0x241cf8)" (* "*") (pointer_expression "*(code **)(iVar11 + 0x241cf8)" (* "*") (cast_expression "(code **)(iVar11 + 0x241cf8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x241cf8)" (( "(") (binary_expression "iVar11 + 0x241cf8" (identifier "iVar11") (+ "+") (number_literal "0x241cf8")) () ")"))))) () ")")) (argument_list "(pbVar12 + 1,aiStack_e0,(uint)bVar1)" (( "(") (binary_expression "pbVar12 + 1" (identifier "pbVar12") (+ "+") (number_literal "1")) (, ",") (identifier "aiStack_e0") (, ",") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")) () ")")))) (; ";")) (expression_statement "bVar2 = pbVar12[aiStack_e0[0]];" (assignment_expression "bVar2 = pbVar12[aiStack_e0[0]]" (identifier "bVar2") (= "=") (subscript_expression "pbVar12[aiStack_e0[0]]" (identifier "pbVar12") ([ "[") (subscript_expression "aiStack_e0[0]" (identifier "aiStack_e0") ([ "[") (number_literal "0") (] "]")) (] "]"))) (; ";")) (expression_statement "pbVar12 = pbVar12 + aiStack_e0[0] + 1;" (assignment_expression "pbVar12 = pbVar12 + aiStack_e0[0] + 1" (identifier "pbVar12") (= "=") (binary_expression "pbVar12 + aiStack_e0[0] + 1" (binary_expression "pbVar12 + aiStack_e0[0]" (identifier "pbVar12") (+ "+") (subscript_expression "aiStack_e0[0]" (identifier "aiStack_e0") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n    bVar2 = pbVar12[1];\n    uVar17 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }" (else "else") (compound_statement "{\n    bVar2 = pbVar12[1];\n    uVar17 = (ulonglong)(uint)bVar1;\n    aiStack_e0[0] = 1;\n    pbVar12 = pbVar12 + 2;\n  }" ({ "{") (expression_statement "bVar2 = pbVar12[1];" (assignment_expression "bVar2 = pbVar12[1]" (identifier "bVar2") (= "=") (subscript_expression "pbVar12[1]" (identifier "pbVar12") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar17 = (ulonglong)(uint)bVar1;" (assignment_expression "uVar17 = (ulonglong)(uint)bVar1" (identifier "uVar17") (= "=") (cast_expression "(ulonglong)(uint)bVar1" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")))) (; ";")) (expression_statement "aiStack_e0[0] = 1;" (assignment_expression "aiStack_e0[0] = 1" (subscript_expression "aiStack_e0[0]" (identifier "aiStack_e0") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "pbVar12 = pbVar12 + 2;" (assignment_expression "pbVar12 = pbVar12 + 2" (identifier "pbVar12") (= "=") (binary_expression "pbVar12 + 2" (identifier "pbVar12") (+ "+") (number_literal "2"))) (; ";")) (} "}")))) (expression_statement "uVar8 = (uint)bVar2;" (assignment_expression "uVar8 = (uint)bVar2" (identifier "uVar8") (= "=") (cast_expression "(uint)bVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar2"))) (; ";")) (if_statement "if ((char)bVar2 < '\0') {\n    (**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8);\n    uVar8 = extraout_v1;\n  }\n  else {\n    aiStack_e0[0] = 1;\n  }" (if "if") (parenthesized_expression "((char)bVar2 < '\0')" (( "(") (binary_expression "(char)bVar2 < '\0'" (cast_expression "(char)bVar2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar2")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    (**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8);\n    uVar8 = extraout_v1;\n  }" ({ "{") (expression_statement "(**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8);" (call_expression "(**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8)" (parenthesized_expression "(**(code **)(iVar11 + 0x241cf8))" (( "(") (pointer_expression "**(code **)(iVar11 + 0x241cf8)" (* "*") (pointer_expression "*(code **)(iVar11 + 0x241cf8)" (* "*") (cast_expression "(code **)(iVar11 + 0x241cf8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x241cf8)" (( "(") (binary_expression "iVar11 + 0x241cf8" (identifier "iVar11") (+ "+") (number_literal "0x241cf8")) () ")"))))) () ")")) (argument_list "(pbVar12,aiStack_e0,uVar8)" (( "(") (identifier "pbVar12") (, ",") (identifier "aiStack_e0") (, ",") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "uVar8 = extraout_v1;" (assignment_expression "uVar8 = extraout_v1" (identifier "uVar8") (= "=") (identifier "extraout_v1")) (; ";")) (} "}")) (else_clause "else {\n    aiStack_e0[0] = 1;\n  }" (else "else") (compound_statement "{\n    aiStack_e0[0] = 1;\n  }" ({ "{") (expression_statement "aiStack_e0[0] = 1;" (assignment_expression "aiStack_e0[0] = 1" (subscript_expression "aiStack_e0[0]" (identifier "aiStack_e0") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "1")) (; ";")) (} "}")))) (if_statement "if ((uVar17 == 0) && (uVar8 == 0)) {\n    *puVar13 = uVar4;\n    return (int *)0x1;\n  }" (if "if") (parenthesized_expression "((uVar17 == 0) && (uVar8 == 0))" (( "(") (binary_expression "(uVar17 == 0) && (uVar8 == 0)" (parenthesized_expression "(uVar17 == 0)" (( "(") (binary_expression "uVar17 == 0" (identifier "uVar17") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar8 == 0)" (( "(") (binary_expression "uVar8 == 0" (identifier "uVar8") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    *puVar13 = uVar4;\n    return (int *)0x1;\n  }" ({ "{") (expression_statement "*puVar13 = uVar4;" (assignment_expression "*puVar13 = uVar4" (pointer_expression "*puVar13" (* "*") (identifier "puVar13")) (= "=") (identifier "uVar4")) (; ";")) (return_statement "return (int *)0x1;" (return "return") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (; ";")) (} "}"))) (if_statement "if ((uVar4 < iVar14 + 0x249468U) && (uVar8 < 0x21)) {\n                    \n                    \n    piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))();\n    return piVar5;\n  }" (if "if") (parenthesized_expression "((uVar4 < iVar14 + 0x249468U) && (uVar8 < 0x21))" (( "(") (binary_expression "(uVar4 < iVar14 + 0x249468U) && (uVar8 < 0x21)" (parenthesized_expression "(uVar4 < iVar14 + 0x249468U)" (( "(") (binary_expression "uVar4 < iVar14 + 0x249468U" (identifier "uVar4") (< "<") (binary_expression "iVar14 + 0x249468U" (identifier "iVar14") (+ "+") (number_literal "0x249468U"))) () ")")) (&& "&&") (parenthesized_expression "(uVar8 < 0x21)" (( "(") (binary_expression "uVar8 < 0x21" (identifier "uVar8") (< "<") (number_literal "0x21")) () ")"))) () ")")) (compound_statement "{\n                    \n                    \n    piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))();\n    return piVar5;\n  }" ({ "{") (expression_statement "piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))();" (assignment_expression "piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))()" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))()" (parenthesized_expression "(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))" (( "(") (pointer_expression "*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354)" (* "*") (cast_expression "(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354)" (( "(") (binary_expression "*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354" (binary_expression "*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11" (pointer_expression "*(int *)(iVar10 + -0x6c80 + uVar8 * 4)" (* "*") (cast_expression "(int *)(iVar10 + -0x6c80 + uVar8 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + -0x6c80 + uVar8 * 4)" (( "(") (binary_expression "iVar10 + -0x6c80 + uVar8 * 4" (binary_expression "iVar10 + -0x6c80" (identifier "iVar10") (+ "+") (number_literal "-0x6c80")) (+ "+") (binary_expression "uVar8 * 4" (identifier "uVar8") (* "*") (number_literal "4"))) () ")")))) (+ "+") (identifier "iVar11")) (+ "+") (number_literal "0x249354")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return piVar5;" (return "return") (identifier "piVar5") (; ";")) (} "}"))) (return_statement "return (int *)0x0;" (return "return") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}")))

/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original prototype: string get_name(Check_script * this) */

type_3 * __thiscall gold::Check_script::get_name(type_3 *__return_storage_ptr__,Check_script *this)

{
  type_1 bVar1;
  type_1 bVar2;
  int iVar3;
  type_2 var_4;
  int *var_6;
  type_3 *psVar6;
  type_4 *var_7;
  int var_15;
  type_2 extraout_v1;
  type_5 *puVar9;
  type_6 *this_00;
  type_6 *this_01;
  type_7 *var_20;
  int var_12;
  type_1 *var_18;
  type_8 *var_16;
  int var_14;
  int var_19;
  type_5 *var_11;
  type_9 *var_13;
  type_10 var_21;
  int aiStack_e0 [2];
  type_8 uStack_d8;
  type_5 *puStack_d0;
  type_11 *puStack_cc;
  type_11 **ppuStack_c8;
  int iStack_c4;
  type_11 *var_8;
  int var_5;
  type_11 var_9 [20];
  
  var_16 = (type_8 *)0x0;
  var_8 = var_9;
  (*(type_9 *)PTR__M_construct<var_1*>var_2)
            (&var_8,var_3 + -0x6e10,var_3 + -0x6e03);
                    /* try { // try from 001f0ae0 to 001f0bef has its CatchHandler @ 001f0bf0 */
  iVar3 = (*this->input_reader_->_vptr_Input_reader[2])(this->input_reader_);
  var_4 = (*(type_9 *)PTR_strlen_0043677c)(iVar3);
  if (var_4 <= 0x7fffffffU - var_5) {
    var_6 = (int *)(*(type_9 *)PTR__M_append_00432c50)(&var_8,iVar3,var_4);
    var_7 = (type_4 *)(var_6 + 2);
    (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)&__return_storage_ptr__->field_2;
    if ((type_4 *)*var_6 == var_7) {
      var_14 = var_6[3];
      var_12 = var_6[4];
      iVar3 = var_6[5];
      (__return_storage_ptr__->field_2)._M_allocated_capacity = *var_7;
      *(int *)((int)&__return_storage_ptr__->field_2 + 4) = var_14;
      *(int *)((int)&__return_storage_ptr__->field_2 + 8) = var_12;
      *(int *)((int)&__return_storage_ptr__->field_2 + 0xc) = iVar3;
    }
    else {
      (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)*var_6;
      (__return_storage_ptr__->field_2)._M_allocated_capacity = var_6[2];
    }
    __return_storage_ptr__->_M_string_length = var_6[1];
    *var_6 = (int)var_7;
    var_6[1] = 0;
    *(type_11 *)(var_6 + 2) = 0;
    if (var_8 != var_9) {
      (*(type_9 *)PTR_operator_delete_0043228c)();
    }
    return __return_storage_ptr__;
  }
  puVar9 = var_10 + -0x6240;
  (*(type_9 *)PTR___throw_length_error_00432480)();
                    /* catch() { ... } // from try @ 001f0ae0 with catch @ 001f0bf0 */
  if (var_8 != var_9) {
    (*(type_9 *)PTR_operator_delete_0043228c)(var_8);
  }
  var_11 = PTR__Unwind_Resume_00432258;
  (*(type_9 *)PTR__Unwind_Resume_00432258)(puVar9);
  var_14 = 0xe34;
  var_13 = *(type_9 **)(var_11 + 0x2417a4);
  var_12 = *(int *)(var_11 + 0x241794) + -0x4fe0;
  (*var_13)(var_12,0xe34,*(int *)(var_11 + 0x24164c) + -0x6b94);
  if (*(int *)(var_12 + 0x20) << 2 < 0) {
    var_16 = *(type_8 **)(var_12 + 0x18);
    if (-1 < *(int *)(var_12 + 0x20) << 1) {
LAB_001f0d20:
      (**(type_9 **)(var_13 + 0x241770))
                (*(int *)(var_13 + 0x241760) + -0x4fe0,0xcf,*(int *)(var_13 + 0x241618) + -0x6bb8)
      ;
      goto LAB_001f0d3c;
    }
    if ((int)var_16 < 0) {
LAB_001f0d04:
      (**(type_9 **)(var_13 + 0x241770))
                (*(int *)(var_13 + 0x241760) + -0x4fe0,0x6f,*(int *)(var_13 + 0x241618) + -0x6bc8)
      ;
      goto LAB_001f0d20;
    }
    var_4 = *(type_2 *)(var_12 + 0x14) + *(int *)(var_12 + 0x1c);
    var_15 = (type_2)(var_4 < *(type_2 *)(var_12 + 0x14)) + (int)var_16;
    var_16 = (type_8 *)(type_2)(*(int *)(var_14 + 8) < var_15);
    if ((var_16 != (type_8 *)0x0) ||
       ((*(int *)(var_14 + 8) == var_15 && (*(type_2 *)(var_14 + 0xc) < var_4)))) goto LAB_001f0d04;
    this_00 = (type_6 *)(*(int *)(var_14 + 0x10) + *(int *)(var_12 + 0x1c));
    if (*(char *)(var_12 + 0x128) == '\0') {
                    /* WARNING: Could not recover jumptable at 0x001f0cec. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      psVar6 = (type_3 *)(**(type_9 **)(var_13 + 0x245b34))(this_00,*(type_8 *)(var_12 + 0xfc));
      return psVar6;
    }
    var_12 = *(int *)(var_12 + 0x94);
    if (var_12 != 0) {
                    /* WARNING: Could not recover jumptable at 0x001f0cd8. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      psVar6 = (type_3 *)(**(type_9 **)(var_13 + 0x245b34))();
      return psVar6;
    }
  }
  else {
LAB_001f0d3c:
    var_12 = 0xe3;
    this_00 = (type_6 *)(*(int *)(var_13 + 0x241760) + -0x4fe0);
    (**(type_9 **)(var_13 + 0x241770))(this_00,0xe3,*(int *)(var_13 + 0x241618) + -0x6bac);
  }
  var_15 = *(int *)(var_13 + 0x2440c0) + 0xc20;
  Output_section::var_17(this_00);
  var_14 = *(int *)&(this_00->super_Output_data).field_0x20;
  if (var_14 << 2 < 0) {
    var_16 = *(type_8 **)&(this_00->super_Output_data).offset_;
    var_19 = (int)(this_00->super_Output_data).offset_;
    if (var_14 << 1 < 0) {
      var_18 = *(type_1 **)((int)&(this_00->super_Output_data).data_size_ + 4);
      if (-1 < (int)var_16) {
        var_14 = (type_2)(var_18 + var_19 < var_18) + (int)var_16;
        var_16 = (type_8 *)(type_2)(*(int *)(var_12 + 8) < var_14);
        if ((var_16 == (type_8 *)0x0) &&
           ((*(int *)(var_12 + 8) != var_14 || (var_18 + var_19 <= *(type_1 **)(var_12 + 0xc))))) {
          this_01 = (type_6 *)(*(int *)(var_12 + 0x10) + var_19);
          if (*(char *)((int)&this_00[1].super_Output_data.address_ + 4) == '\0') {
                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            psVar6 = (type_3 *)
                     (**(type_9 **)(var_15 + 0x245a20))(this_01,*(type_8 *)&this_00->field_0xfc);
            return psVar6;
          }
          var_20 = this_00->postprocessing_buffer_;
          if (var_20 != (type_7 *)0x0) {
                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            psVar6 = (type_3 *)(**(type_9 **)(var_15 + 0x245a20))();
            return psVar6;
          }
          goto LAB_001f0e6c;
        }
      }
      (**(type_9 **)(var_15 + 0x24165c))
                (*(int *)(var_15 + 0x24164c) + -0x4fe0,0x6f,*(int *)(var_15 + 0x241504) + -0x6bc8);
    }
    (**(type_9 **)(var_15 + 0x24165c))
              (*(int *)(var_15 + 0x24164c) + -0x4fe0,0xcf,*(int *)(var_15 + 0x241504) + -0x6bb8);
  }
  var_20 = (type_7 *)0xe3;
  var_18 = (type_1 *)(*(int *)(var_15 + 0x241504) + -0x6bac);
  this_01 = (type_6 *)(*(int *)(var_15 + 0x24164c) + -0x4fe0);
  (**(type_9 **)(var_15 + 0x24165c))();
LAB_001f0e6c:
  var_14 = *(int *)(var_15 + 0x243fac) + 0xc20;
  Output_section::var_17(this_01);
  var_12 = *(int *)(var_14 + 0x2413f0);
  uStack_d8 = *(type_8 *)(var_14 + 0x243fec);
  bVar1 = *var_18;
  puStack_d0 = puVar9;
  puStack_cc = var_9;
  ppuStack_c8 = &var_8;
  iStack_c4 = iVar3;
  if ((char)bVar1 < '\0') {
    var_21 = (**(type_9 **)(var_14 + 0x241cf8))(var_18 + 1,aiStack_e0,(type_2)bVar1);
    bVar2 = var_18[aiStack_e0[0]];
    var_18 = var_18 + aiStack_e0[0] + 1;
  }
  else {
    bVar2 = var_18[1];
    var_21 = (type_10)(type_2)bVar1;
    aiStack_e0[0] = 1;
    var_18 = var_18 + 2;
  }
  var_4 = (type_2)bVar2;
  if ((char)bVar2 < '\0') {
    (**(type_9 **)(var_14 + 0x241cf8))(var_18,aiStack_e0,var_4);
    var_4 = extraout_v1;
  }
  else {
    aiStack_e0[0] = 1;
  }
  if ((var_21 == 0) && (var_4 == 0)) {
    *var_16 = var_20;
    return (type_3 *)0x1;
  }
  if ((var_20 < (type_7 *)(var_15 + 0x249468)) && (var_4 < 0x21)) {
                    /* WARNING: Could not recover jumptable at 0x001f0f5c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    psVar6 = (type_3 *)(*(type_9 *)(*(int *)(var_12 + -0x6c80 + var_4 * 4) + var_14 + 0x249354))();
    return psVar6;
  }
  return (type_3 *)0x0;
}


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

int * MASKED(int *param_1,int param_2)

{
  byte bVar1;
  byte bVar2;
  undefined4 uVar3;
  uint uVar4;
  int *piVar5;
  int *piVar6;
  int iVar7;
  uint uVar8;
  uint extraout_v1;
  undefined *puVar9;
  int iVar10;
  int iVar11;
  byte *pbVar12;
  uint *puVar13;
  int iVar14;
  undefined *puVar15;
  code *pcVar16;
  ulonglong uVar17;
  int aiStack_e0 [2];
  undefined4 uStack_d8;
  undefined *puStack_d0;
  undefined1 *puStack_cc;
  undefined1 **ppuStack_c8;
  undefined4 uStack_c4;
  undefined1 *local_30;
  int local_2c;
  undefined1 auStack_28 [20];
  
  puVar13 = (uint *)0x0;
  local_30 = auStack_28;
  (*(code *)PTR__M_construct<char_const*>_00432488)
            (&local_30,PTR_DAT_0043226c + -0x6e10,PTR_DAT_0043226c + -0x6e03);
                    /* try { // try from 001f0ae0 to 001f0bef has its CatchHandler @ 001f0bf0 */
  uVar3 = (**(code **)(**(int **)(param_2 + 0x48) + 8))(*(int **)(param_2 + 0x48));
  uVar4 = (*(code *)PTR_strlen_0043677c)(uVar3);
  if (uVar4 <= 0x7fffffffU - local_2c) {
    piVar5 = (int *)(*(code *)PTR__M_append_00432c50)(&local_30,uVar3,uVar4);
    piVar6 = piVar5 + 2;
    *param_1 = (int)(param_1 + 2);
    if ((int *)*piVar5 == piVar6) {
      iVar14 = piVar5[3];
      iVar11 = piVar5[4];
      iVar10 = piVar5[5];
      param_1[2] = *piVar6;
      param_1[3] = iVar14;
      param_1[4] = iVar11;
      param_1[5] = iVar10;
    }
    else {
      *param_1 = *piVar5;
      param_1[2] = piVar5[2];
    }
    param_1[1] = piVar5[1];
    *piVar5 = (int)piVar6;
    piVar5[1] = 0;
    *(undefined1 *)(piVar5 + 2) = 0;
    if (local_30 != auStack_28) {
      (*(code *)PTR_operator_delete_0043228c)();
    }
    return param_1;
  }
  puVar9 = PTR_s_alize_xindex_004323b4 + -0x6240;
  (*(code *)PTR___throw_length_error_00432480)();
                    /* catch() { ... } // from try @ 001f0ae0 with catch @ 001f0bf0 */
  if (local_30 != auStack_28) {
    (*(code *)PTR_operator_delete_0043228c)(local_30);
  }
  puVar15 = PTR_FUN_00432258;
  (*(code *)PTR_FUN_00432258)(puVar9);
  iVar11 = 0xe34;
  pcVar16 = *(code **)(puVar15 + 0x2417a4);
  iVar10 = *(int *)(puVar15 + 0x241794) + -0x4fe0;
  (*pcVar16)(iVar10,0xe34,*(int *)(puVar15 + 0x24164c) + -0x6b94);
  if (*(int *)(iVar10 + 0x20) << 2 < 0) {
    puVar13 = *(uint **)(iVar10 + 0x18);
    if (-1 < *(int *)(iVar10 + 0x20) << 1) {
LAB_001f0d20:
      (**(code **)(pcVar16 + 0x241770))
                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0xcf,*(int *)(pcVar16 + 0x241618) + -0x6bb8)
      ;
      goto LAB_001f0d3c;
    }
    if ((int)puVar13 < 0) {
LAB_001f0d04:
      (**(code **)(pcVar16 + 0x241770))
                (*(int *)(pcVar16 + 0x241760) + -0x4fe0,0x6f,*(int *)(pcVar16 + 0x241618) + -0x6bc8)
      ;
      goto LAB_001f0d20;
    }
    uVar4 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);
    iVar14 = (uint)(uVar4 < *(uint *)(iVar10 + 0x14)) + (int)puVar13;
    puVar13 = (uint *)(uint)(*(int *)(iVar11 + 8) < iVar14);
    if ((puVar13 != (uint *)0x0) ||
       ((*(int *)(iVar11 + 8) == iVar14 && (*(uint *)(iVar11 + 0xc) < uVar4)))) goto LAB_001f0d04;
    iVar11 = *(int *)(iVar11 + 0x10) + *(int *)(iVar10 + 0x1c);
    if (*(char *)(iVar10 + 0x128) == '\0') {
                    /* WARNING: Could not recover jumptable at 0x001f0cec. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))(iVar11,*(undefined4 *)(iVar10 + 0xfc));
      return piVar5;
    }
    iVar10 = *(int *)(iVar10 + 0x94);
    if (iVar10 != 0) {
                    /* WARNING: Could not recover jumptable at 0x001f0cd8. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      piVar5 = (int *)(**(code **)(pcVar16 + 0x245b34))();
      return piVar5;
    }
  }
  else {
LAB_001f0d3c:
    iVar10 = 0xe3;
    iVar11 = *(int *)(pcVar16 + 0x241760) + -0x4fe0;
    (**(code **)(pcVar16 + 0x241770))(iVar11,0xe3,*(int *)(pcVar16 + 0x241618) + -0x6bac);
  }
  iVar14 = *(int *)(pcVar16 + 0x2440c0) + 0xc20;
  FUN_001f0c20();
  if (*(int *)(iVar11 + 0x20) << 2 < 0) {
    puVar13 = *(uint **)(iVar11 + 0x18);
    if (*(int *)(iVar11 + 0x20) << 1 < 0) {
      pbVar12 = *(byte **)(iVar11 + 0x14);
      if (-1 < (int)puVar13) {
        iVar7 = (uint)(pbVar12 + *(int *)(iVar11 + 0x1c) < pbVar12) + (int)puVar13;
        puVar13 = (uint *)(uint)(*(int *)(iVar10 + 8) < iVar7);
        if ((puVar13 == (uint *)0x0) &&
           ((*(int *)(iVar10 + 8) != iVar7 ||
            (pbVar12 + *(int *)(iVar11 + 0x1c) <= *(byte **)(iVar10 + 0xc))))) {
          if (*(char *)(iVar11 + 0x10c) == '\0') {
                    /* WARNING: Could not recover jumptable at 0x001f0e00. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))
                                      (*(int *)(iVar10 + 0x10) + *(int *)(iVar11 + 0x1c),
                                       *(undefined4 *)(iVar11 + 0xfc));
            return piVar5;
          }
          uVar4 = *(uint *)(iVar11 + 0x94);
          if (uVar4 != 0) {
                    /* WARNING: Could not recover jumptable at 0x001f0dec. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            piVar5 = (int *)(**(code **)(iVar14 + 0x245a20))();
            return piVar5;
          }
          goto LAB_001f0e6c;
        }
      }
      (**(code **)(iVar14 + 0x24165c))
                (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0x6f,*(int *)(iVar14 + 0x241504) + -0x6bc8);
    }
    (**(code **)(iVar14 + 0x24165c))
              (*(int *)(iVar14 + 0x24164c) + -0x4fe0,0xcf,*(int *)(iVar14 + 0x241504) + -0x6bb8);
  }
  uVar4 = 0xe3;
  pbVar12 = (byte *)(*(int *)(iVar14 + 0x241504) + -0x6bac);
  (**(code **)(iVar14 + 0x24165c))(*(int *)(iVar14 + 0x24164c) + -0x4fe0);
LAB_001f0e6c:
  iVar11 = *(int *)(iVar14 + 0x243fac) + 0xc20;
  FUN_001f0c20();
  iVar10 = *(int *)(iVar11 + 0x2413f0);
  uStack_d8 = *(undefined4 *)(iVar11 + 0x243fec);
  bVar1 = *pbVar12;
  puStack_d0 = puVar9;
  puStack_cc = auStack_28;
  ppuStack_c8 = &local_30;
  uStack_c4 = uVar3;
  if ((char)bVar1 < '\0') {
    uVar17 = (**(code **)(iVar11 + 0x241cf8))(pbVar12 + 1,aiStack_e0,(uint)bVar1);
    bVar2 = pbVar12[aiStack_e0[0]];
    pbVar12 = pbVar12 + aiStack_e0[0] + 1;
  }
  else {
    bVar2 = pbVar12[1];
    uVar17 = (ulonglong)(uint)bVar1;
    aiStack_e0[0] = 1;
    pbVar12 = pbVar12 + 2;
  }
  uVar8 = (uint)bVar2;
  if ((char)bVar2 < '\0') {
    (**(code **)(iVar11 + 0x241cf8))(pbVar12,aiStack_e0,uVar8);
    uVar8 = extraout_v1;
  }
  else {
    aiStack_e0[0] = 1;
  }
  if ((uVar17 == 0) && (uVar8 == 0)) {
    *puVar13 = uVar4;
    return (int *)0x1;
  }
  if ((uVar4 < iVar14 + 0x249468U) && (uVar8 < 0x21)) {
                    /* WARNING: Could not recover jumptable at 0x001f0f5c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    piVar5 = (int *)(*(code *)(*(int *)(iVar10 + -0x6c80 + uVar8 * 4) + iVar11 + 0x249354))();
    return piVar5;
  }
  return (int *)0x0;
}

