
/* DWARF original prototype: void read_relocs(Sized_dwarf_line_info<32,_false> * this) */

void __thiscall
gold::Sized_dwarf_line_info<32,_false>::read_relocs(Sized_dwarf_line_info<32,_false> *this)

{
  bool bVar1;
  undefined *puVar2;
  _Rb_tree_color _Var3;
  int iVar4;
  _func_int_varargs **in_v1;
  _func_int_varargs **extraout_v1;
  _Base_ptr p_Var5;
  _Base_ptr p_Var6;
  Sized_elf_reloc_mapper<32,_false> *pSVar7;
  undefined4 uVar8;
  _Base_ptr p_Var9;
  _Rb_tree_header *p_Var10;
  _func_int_varargs *p_Var11;
  off_t oVar12;
  piecewise_construct_t *ppVar13;
  off_t reloc_offset;
  off_t value;
  off_t *local_28 [2];
  int local_20;
  _Rb_tree_color local_1c;
  
  puVar2 = PTR_do_next_offset_00432cf8;
  if (this->symtab_buffer_ == (uchar *)0x0) {
    return;
  }
  p_Var10 = &(this->reloc_map_)._M_t._M_impl.super__Rb_tree_header;
LAB_000e2c7c:
  pSVar7 = this->reloc_mapper_;
  p_Var11 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[3];
  if (p_Var11 != (_func_int_varargs *)puVar2) goto LAB_000e2d1c;
LAB_000e2c90:
  oVar12 = (*(code *)PTR_next_offset_00432c18)(&pSVar7->track_relocs_);
  do {
    if ((int)((ulonglong)oVar12 >> 0x20) == -1) {
      if ((int)oVar12 == -1) {
        return;
      }
    }
    ppVar13 = (piecewise_construct_t *)&value;
    reloc_offset = oVar12;
    _Var3 = (*(this->reloc_mapper_->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[5])
                      (this->reloc_mapper_);
    if (_Var3 == _S_red) {
      pSVar7 = this->reloc_mapper_;
      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper;
      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;
      p_Var11 = in_v1[4];
      uVar8 = (undefined4)((ulonglong)(reloc_offset + 1) >> 0x20);
      if (p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc) {
LAB_000e2df8:
        (*p_Var11)(pSVar7,(uint)bVar1,uVar8);
        goto LAB_000e2c7c;
      }
    }
    else {
      p_Var5 = (this->reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;
      p_Var9 = &p_Var10->_M_header;
      if (p_Var5 == (_Base_ptr)0x0) {
LAB_000e2e14:
        local_28[0] = &reloc_offset;
        local_1c = _Var3;
        std::
        _Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>
        ::
        _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<long_long_int_const&>,_std::tuple<>_>
                  ((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>
                    *)&local_20,(const_iterator)&this->reloc_map_,
                   (tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);
        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;
        *(undefined4 *)(local_20 + 0x24) = value._4_4_;
        *(undefined4 *)(local_20 + 0x20) = value._0_4_;
      }
      else {
        do {
          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||
             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&
              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {
            p_Var6 = p_Var5->_M_right;
          }
          else {
            p_Var6 = p_Var5->_M_left;
            p_Var9 = p_Var5;
          }
          p_Var5 = p_Var6;
        } while (p_Var6 != (_Base_ptr)0x0);
        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||
           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))
        goto LAB_000e2e14;
        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {
          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;
          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;
        }
        else {
          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;
        }
        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;
        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;
      }
      pSVar7 = this->reloc_mapper_;
      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;
      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper;
      p_Var11 = in_v1[4];
      uVar8 = (undefined4)((ulonglong)(reloc_offset + 1) >> 0x20);
      if (p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc) goto LAB_000e2df8;
    }
    (*(code *)PTR_advance_00432c14)(&pSVar7->track_relocs_);
    pSVar7 = this->reloc_mapper_;
    p_Var11 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[3];
    in_v1 = extraout_v1;
    if (p_Var11 == (_func_int_varargs *)puVar2) goto LAB_000e2c90;
LAB_000e2d1c:
    iVar4 = (*p_Var11)();
    oVar12 = CONCAT44(iVar4,in_v1);
  } while( true );
}



/* gold::Sized_dwarf_line_info<32, false>::read_relocs() */

void __thiscall
gold::Sized_dwarf_line_info<32,false>::read_relocs(Sized_dwarf_line_info<32,false> *this)

{
  bool bVar1;
  undefined *puVar2;
  int iVar3;
  Sized_dwarf_line_info<32,false> *pSVar4;
  Sized_dwarf_line_info<32,false> *pSVar5;
  int *piVar6;
  undefined4 uVar7;
  Sized_dwarf_line_info<32,false> *pSVar8;
  Sized_dwarf_line_info<32,false> *pSVar9;
  code *pcVar10;
  longlong lVar11;
  undefined4 *puVar12;
  undefined8 local_38;
  undefined4 local_30;
  undefined4 local_2c;
  undefined8 *local_28 [2];
  int local_20;
  int local_1c;
  
  puVar2 = PTR_do_next_offset_00432cf8;
  if (*(int *)(this + 0x5c) == 0) {
    return;
  }
  pSVar9 = this + 0x84;
LAB_000e2c7c:
  piVar6 = *(int **)(this + 0x54);
  pcVar10 = *(code **)(*piVar6 + 0xc);
  if (pcVar10 != (code *)puVar2) goto LAB_000e2d1c;
LAB_000e2c90:
  lVar11 = (*(code *)PTR_next_offset_00432c18)(piVar6 + 7);
  do {
    if ((int)((ulonglong)lVar11 >> 0x20) == -1) {
      if ((int)lVar11 == -1) {
        return;
      }
    }
    puVar12 = &local_30;
    local_38 = lVar11;
    iVar3 = (**(code **)(**(int **)(this + 0x54) + 0x14))(*(int **)(this + 0x54));
    if (iVar3 == 0) {
      piVar6 = *(int **)(this + 0x54);
      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;
      pcVar10 = *(code **)(*piVar6 + 0x10);
      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);
      if (pcVar10 != (code *)PTR_do_advance_00432cfc) {
LAB_000e2df8:
        (*pcVar10)(piVar6,bVar1,uVar7);
        goto LAB_000e2c7c;
      }
    }
    else {
      pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);
      pSVar8 = pSVar9;
      if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {
LAB_000e2e14:
        local_28[0] = &local_38;
        local_1c = iVar3;
        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);
        *(int *)(local_20 + 0x18) = local_1c;
        *(undefined4 *)(local_20 + 0x24) = local_2c;
        *(undefined4 *)(local_20 + 0x20) = local_30;
      }
      else {
        do {
          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||
             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&
              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {
            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);
          }
          else {
            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);
            pSVar8 = pSVar4;
          }
          pSVar4 = pSVar5;
        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);
        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;
        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {
          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;
          *(int *)(pSVar8 + 0x18) = iVar3;
        }
        else {
          *(int *)(pSVar8 + 0x18) = iVar3;
        }
        *(undefined4 *)(pSVar8 + 0x24) = local_2c;
        *(undefined4 *)(pSVar8 + 0x20) = local_30;
      }
      piVar6 = *(int **)(this + 0x54);
      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;
      pcVar10 = *(code **)(*piVar6 + 0x10);
      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);
      if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;
    }
    (*(code *)PTR_advance_00432c14)(piVar6 + 7);
    piVar6 = *(int **)(this + 0x54);
    pcVar10 = *(code **)(*piVar6 + 0xc);
    if (pcVar10 == (code *)puVar2) goto LAB_000e2c90;
LAB_000e2d1c:
    lVar11 = (*pcVar10)();
  } while( true );
}


lui gp,0x35
addiu gp,gp,0x75a4
addu gp,gp,t9
lw v0,0x5c(a0)
beq v0,zero,0x000e2e74
_nop
addiu sp,sp,-0x58
sw s4,0x50(sp)
sw s1,0x44(sp)
sw s3,0x4c(sp)
addiu s3,a0,0x84
sw s2,0x48(sp)
addiu s2,sp,0x28
sw s0,0x40(sp)
or s0,a0,zero
sw gp,0x18(sp)
sw ra,0x54(sp)
lw s4,-0x7644(gp)
lw s1,-0x74d8(gp)
addiu s4,s4,0x6c14
lw a0,0x54(s0)
lw v0,0x0(a0)
lw t9,0xc(v0)
bne t9,s1,0x000e2d1c
_nop
lw t9,-0x75b8(gp)
jalr t9
_addiu a0,a0,0x1c
or a3,v1,zero
sw v0,0x20(sp)
li v1,-0x1
beq v0,v1,0x000e2d38
_sw a3,0x24(sp)
lw v1,0x54(s0)
or a2,v0,zero
lw v0,0x0(v1)
sw s2,0x10(sp)
lw t9,0x14(v0)
jalr t9
_or a0,v1,zero
bne v0,zero,0x000e2d5c
_lw gp,0x18(sp)
lw a0,0x54(s0)
lw a1,0x24(sp)
lw t0,0x20(sp)
lw v0,-0x74d4(gp)
lw v1,0x0(a0)
addiu a3,a1,0x1
sltu a1,a3,a1
lw t9,0x10(v1)
bne t9,v0,0x000e2df8
_addu a2,a1,t0
lw t9,-0x75bc(gp)
jalr t9
_addiu a0,a0,0x1c
lw a0,0x54(s0)
lw v0,0x0(a0)
lw t9,0xc(v0)
beq t9,s1,0x000e2c90
_lw gp,0x18(sp)
jalr t9
_nop
or a3,v1,zero
sw v0,0x20(sp)
li v1,-0x1
bne v0,v1,0x000e2cb0
_sw a3,0x24(sp)
bne a3,v0,0x000e2cb0
_lw ra,0x54(sp)
lw s4,0x50(sp)
lw s3,0x4c(sp)
lw s2,0x48(sp)
lw s1,0x44(sp)
lw s0,0x40(sp)
jr ra
_addiu sp,sp,0x58
lw v1,0x88(s0)
beq v1,zero,0x000e2e10
_or a2,s3,zero
lw t0,0x20(sp)
lw a1,0x24(sp)
lw a0,0x10(v1)
slt a3,a0,t0
bne a3,zero,0x000e2e08
_nop
bne a0,t0,0x000e2d98
_nop
lw a0,0x14(v1)
sltu a0,a0,a1
bne a0,zero,0x000e2e08
_nop
or a2,v1,zero
lw v1,0x8(v1)
bne v1,zero,0x000e2d70
_nop
beq s3,a2,0x000e2e14
_addiu v1,sp,0x20
lw v1,0x10(a2)
slt a0,t0,v1
bne a0,zero,0x000e2e10
_nop
beq v1,t0,0x000e2e5c
_lw v1,0x2c(sp)
sw v0,0x18(a2)
lw v0,0x28(sp)
sw v1,0x24(a2)
sw v0,0x20(a2)
lw a0,0x54(s0)
addiu a3,a1,0x1
lw v0,-0x74d4(gp)
sltu a1,a3,a1
lw v1,0x0(a0)
lw t9,0x10(v1)
beq t9,v0,0x000e2cfc
_addu a2,a1,t0
jalr t9
_nop
b 0x000e2c7c
_lw gp,0x18(sp)
b 0x000e2da0
_lw v1,0xc(v1)
addiu v1,sp,0x20
sw v0,0x3c(sp)
addiu a1,s0,0x80
addiu a3,sp,0x30
sw v1,0x30(sp)
or t9,s4,zero
bal 0x000d6c14
_addiu a0,sp,0x38
lw a2,0x38(sp)
lw v0,0x3c(sp)
lw gp,0x18(sp)
lw v1,0x2c(sp)
lw t0,0x20(sp)
lw a1,0x24(sp)
sw v0,0x18(a2)
sw v1,0x24(a2)
lw v0,0x28(sp)
b 0x000e2dd8
_sw v0,0x20(a2)
lw v1,0x14(a2)
sltu v1,a1,v1
bne v1,zero,0x000e2e10
_lw v1,0x2c(sp)
b 0x000e2dcc
_sw v0,0x18(a2)
jr ra
_nop
(translation_unit "/* gold::Sized_dwarf_line_info<32, false>::read_relocs() */\n\nvoid __thiscall\ngold::Sized_dwarf_line_info<32,false>::read_relocs(Sized_dwarf_line_info<32,false> *this)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  Sized_dwarf_line_info<32,false> *pSVar4;\n  Sized_dwarf_line_info<32,false> *pSVar5;\n  int *piVar6;\n  undefined4 uVar7;\n  Sized_dwarf_line_info<32,false> *pSVar8;\n  Sized_dwarf_line_info<32,false> *pSVar9;\n  code *pcVar10;\n  longlong lVar11;\n  undefined4 *puVar12;\n  undefined8 local_38;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined8 *local_28 [2];\n  int local_20;\n  int local_1c;\n  \n  puVar2 = PTR_do_next_offset_00432cf8;\n  if (*(int *)(this + 0x5c) == 0) {\n    return;\n  }\n  pSVar9 = this + 0x84;\nLAB_000e2c7c:\n  piVar6 = *(int **)(this + 0x54);\n  pcVar10 = *(code **)(*piVar6 + 0xc);\n  if (pcVar10 != (code *)puVar2) goto LAB_000e2d1c;\nLAB_000e2c90:\n  lVar11 = (*(code *)PTR_next_offset_00432c18)(piVar6 + 7);\n  do {\n    if ((int)((ulonglong)lVar11 >> 0x20) == -1) {\n      if ((int)lVar11 == -1) {\n        return;\n      }\n    }\n    puVar12 = &local_30;\n    local_38 = lVar11;\n    iVar3 = (**(code **)(**(int **)(this + 0x54) + 0x14))(*(int **)(this + 0x54));\n    if (iVar3 == 0) {\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }\n    }\n    else {\n      pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);\n      pSVar8 = pSVar9;\n      if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }\n    (*(code *)PTR_advance_00432c14)(piVar6 + 7);\n    piVar6 = *(int **)(this + 0x54);\n    pcVar10 = *(code **)(*piVar6 + 0xc);\n    if (pcVar10 == (code *)puVar2) goto LAB_000e2c90;\nLAB_000e2d1c:\n    lVar11 = (*pcVar10)();\n  } while( true );\n}\n\n" comment (declaration "void __thiscall\ngold::Sized_dwarf_line_info<32,false>::read_relocs(Sized_dwarf_line_info<32,false> *this)\n\n{\n  bool bVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "false>::read_relocs(Sized_dwarf_line_info<32,false> *this)\n\n{\n  bool" identifier > : : (function_declarator "read_relocs(Sized_dwarf_line_info<32,false> *this)" identifier (parameter_list "(Sized_dwarf_line_info<32,false> *this)" ( (parameter_declaration "Sized_dwarf_line_info" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) ))) { primitive_type) identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (expression_statement "Sized_dwarf_line_info<32,false> *pSVar4;" (update_expression "Sized_dwarf_line_info<32,false> *pSVar4" (binary_expression "Sized_dwarf_line_info<32,false> *pSVar4" (binary_expression "Sized_dwarf_line_info<32" identifier < number_literal) (ERROR ",false" , false) > (pointer_expression "*pSVar4" * identifier)) --) ;) (expression_statement "Sized_dwarf_line_info<32,false> *pSVar5;" (update_expression "Sized_dwarf_line_info<32,false> *pSVar5" (binary_expression "Sized_dwarf_line_info<32,false> *pSVar5" (binary_expression "Sized_dwarf_line_info<32" identifier < number_literal) (ERROR ",false" , false) > (pointer_expression "*pSVar5" * identifier)) --) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (expression_statement "Sized_dwarf_line_info<32,false> *pSVar8;" (update_expression "Sized_dwarf_line_info<32,false> *pSVar8" (binary_expression "Sized_dwarf_line_info<32,false> *pSVar8" (binary_expression "Sized_dwarf_line_info<32" identifier < number_literal) (ERROR ",false" , false) > (pointer_expression "*pSVar8" * identifier)) --) ;) (expression_statement "Sized_dwarf_line_info<32,false> *pSVar9;" (update_expression "Sized_dwarf_line_info<32,false> *pSVar9" (binary_expression "Sized_dwarf_line_info<32,false> *pSVar9" (binary_expression "Sized_dwarf_line_info<32" identifier < number_literal) (ERROR ",false" , false) > (pointer_expression "*pSVar9" * identifier)) --) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "longlong lVar11;" type_identifier identifier ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined8 local_38;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined8 *local_28 [2];" type_identifier (pointer_declarator "*local_28 [2]" * (array_declarator "local_28 [2]" identifier [ number_literal ])) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "puVar2 = PTR_do_next_offset_00432cf8;" (assignment_expression "puVar2 = PTR_do_next_offset_00432cf8" identifier = identifier) ;) (if_statement "if (*(int *)(this + 0x5c) == 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(this + 0x5c) == 0)" ( (binary_expression "*(int *)(this + 0x5c) == 0" (pointer_expression "*(int *)(this + 0x5c)" * (cast_expression "(int *)(this + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x5c)" ( (binary_expression "this + 0x5c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pSVar9 = this + 0x84;" (assignment_expression "pSVar9 = this + 0x84" identifier = (binary_expression "this + 0x84" identifier + number_literal)) ;) (labeled_statement "LAB_000e2c7c:\n  piVar6 = *(int **)(this + 0x54);" statement_identifier : (expression_statement "piVar6 = *(int **)(this + 0x54);" (assignment_expression "piVar6 = *(int **)(this + 0x54)" identifier = (pointer_expression "*(int **)(this + 0x54)" * (cast_expression "(int **)(this + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x54)" ( (binary_expression "this + 0x54" identifier + number_literal) ))))) ;)) (expression_statement "pcVar10 = *(code **)(*piVar6 + 0xc);" (assignment_expression "pcVar10 = *(code **)(*piVar6 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar6 + 0xc)" * (cast_expression "(code **)(*piVar6 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar6 + 0xc)" ( (binary_expression "*piVar6 + 0xc" (pointer_expression "*piVar6" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar10 != (code *)puVar2) goto LAB_000e2d1c;" if (parenthesized_expression "(pcVar10 != (code *)puVar2)" ( (binary_expression "pcVar10 != (code *)puVar2" identifier != (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_000e2d1c;" goto statement_identifier ;)) (labeled_statement "LAB_000e2c90:\n  lVar11 = (*(code *)PTR_next_offset_00432c18)(piVar6 + 7);" statement_identifier : (expression_statement "lVar11 = (*(code *)PTR_next_offset_00432c18)(piVar6 + 7);" (assignment_expression "lVar11 = (*(code *)PTR_next_offset_00432c18)(piVar6 + 7)" identifier = (call_expression "(*(code *)PTR_next_offset_00432c18)(piVar6 + 7)" (parenthesized_expression "(*(code *)PTR_next_offset_00432c18)" ( (pointer_expression "*(code *)PTR_next_offset_00432c18" * (cast_expression "(code *)PTR_next_offset_00432c18" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar6 + 7)" ( (binary_expression "piVar6 + 7" identifier + number_literal) )))) ;)) (do_statement "do {\n    if ((int)((ulonglong)lVar11 >> 0x20) == -1) {\n      if ((int)lVar11 == -1) {\n        return;\n      }\n    }\n    puVar12 = &local_30;\n    local_38 = lVar11;\n    iVar3 = (**(code **)(**(int **)(this + 0x54) + 0x14))(*(int **)(this + 0x54));\n    if (iVar3 == 0) {\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }\n    }\n    else {\n      pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);\n      pSVar8 = pSVar9;\n      if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }\n    (*(code *)PTR_advance_00432c14)(piVar6 + 7);\n    piVar6 = *(int **)(this + 0x54);\n    pcVar10 = *(code **)(*piVar6 + 0xc);\n    if (pcVar10 == (code *)puVar2) goto LAB_000e2c90;\nLAB_000e2d1c:\n    lVar11 = (*pcVar10)();\n  } while( true );" do (compound_statement "{\n    if ((int)((ulonglong)lVar11 >> 0x20) == -1) {\n      if ((int)lVar11 == -1) {\n        return;\n      }\n    }\n    puVar12 = &local_30;\n    local_38 = lVar11;\n    iVar3 = (**(code **)(**(int **)(this + 0x54) + 0x14))(*(int **)(this + 0x54));\n    if (iVar3 == 0) {\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }\n    }\n    else {\n      pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);\n      pSVar8 = pSVar9;\n      if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }\n    (*(code *)PTR_advance_00432c14)(piVar6 + 7);\n    piVar6 = *(int **)(this + 0x54);\n    pcVar10 = *(code **)(*piVar6 + 0xc);\n    if (pcVar10 == (code *)puVar2) goto LAB_000e2c90;\nLAB_000e2d1c:\n    lVar11 = (*pcVar10)();\n  }" { (if_statement "if ((int)((ulonglong)lVar11 >> 0x20) == -1) {\n      if ((int)lVar11 == -1) {\n        return;\n      }\n    }" if (parenthesized_expression "((int)((ulonglong)lVar11 >> 0x20) == -1)" ( (binary_expression "(int)((ulonglong)lVar11 >> 0x20) == -1" (cast_expression "(int)((ulonglong)lVar11 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar11 >> 0x20)" ( (binary_expression "(ulonglong)lVar11 >> 0x20" (cast_expression "(ulonglong)lVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n      if ((int)lVar11 == -1) {\n        return;\n      }\n    }" { (if_statement "if ((int)lVar11 == -1) {\n        return;\n      }" if (parenthesized_expression "((int)lVar11 == -1)" ( (binary_expression "(int)lVar11 == -1" (cast_expression "(int)lVar11" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) })) (expression_statement "puVar12 = &local_30;" (assignment_expression "puVar12 = &local_30" identifier = (pointer_expression "&local_30" & identifier)) ;) (expression_statement "local_38 = lVar11;" (assignment_expression "local_38 = lVar11" identifier = identifier) ;) (expression_statement "iVar3 = (**(code **)(**(int **)(this + 0x54) + 0x14))(*(int **)(this + 0x54));" (assignment_expression "iVar3 = (**(code **)(**(int **)(this + 0x54) + 0x14))(*(int **)(this + 0x54))" identifier = (call_expression "(**(code **)(**(int **)(this + 0x54) + 0x14))(*(int **)(this + 0x54))" (parenthesized_expression "(**(code **)(**(int **)(this + 0x54) + 0x14))" ( (pointer_expression "**(code **)(**(int **)(this + 0x54) + 0x14)" * (pointer_expression "*(code **)(**(int **)(this + 0x54) + 0x14)" * (cast_expression "(code **)(**(int **)(this + 0x54) + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(this + 0x54) + 0x14)" ( (binary_expression "**(int **)(this + 0x54) + 0x14" (pointer_expression "**(int **)(this + 0x54)" * (pointer_expression "*(int **)(this + 0x54)" * (cast_expression "(int **)(this + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x54)" ( (binary_expression "this + 0x54" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(this + 0x54))" ( (pointer_expression "*(int **)(this + 0x54)" * (cast_expression "(int **)(this + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x54)" ( (binary_expression "this + 0x54" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar3 == 0) {\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }\n    }\n    else {\n      pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);\n      pSVar8 = pSVar9;\n      if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }\n    }" { (expression_statement "piVar6 = *(int **)(this + 0x54);" (assignment_expression "piVar6 = *(int **)(this + 0x54)" identifier = (pointer_expression "*(int **)(this + 0x54)" * (cast_expression "(int **)(this + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x54)" ( (binary_expression "this + 0x54" identifier + number_literal) ))))) ;) (expression_statement "bVar1 = (uint)(local_38 + 1) < local_38._4_4_;" (assignment_expression "bVar1 = (uint)(local_38 + 1) < local_38._4_4_" identifier = (binary_expression "(uint)(local_38 + 1) < local_38._4_4_" (call_expression "(uint)(local_38 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_38 + 1)" ( (binary_expression "local_38 + 1" identifier + number_literal) ))) < (field_expression "local_38._4_4_" identifier . field_identifier))) ;) (expression_statement "pcVar10 = *(code **)(*piVar6 + 0x10);" (assignment_expression "pcVar10 = *(code **)(*piVar6 + 0x10)" identifier = (pointer_expression "*(code **)(*piVar6 + 0x10)" * (cast_expression "(code **)(*piVar6 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar6 + 0x10)" ( (binary_expression "*piVar6 + 0x10" (pointer_expression "*piVar6" * identifier) + number_literal) ))))) ;) (expression_statement "uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);" (assignment_expression "uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)(local_38 + 1) >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)(local_38 + 1) >> 0x20)" ( (binary_expression "(ulonglong)(local_38 + 1) >> 0x20" (call_expression "(ulonglong)(local_38 + 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(local_38 + 1)" ( (binary_expression "local_38 + 1" identifier + number_literal) ))) >> number_literal) )))) ;) (if_statement "if (pcVar10 != (code *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }" if (parenthesized_expression "(pcVar10 != (code *)PTR_do_advance_00432cfc)" ( (binary_expression "pcVar10 != (code *)PTR_do_advance_00432cfc" identifier != (cast_expression "(code *)PTR_do_advance_00432cfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }" { (labeled_statement "LAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);" statement_identifier : (expression_statement "(*pcVar10)(piVar6,bVar1,uVar7);" (call_expression "(*pcVar10)(piVar6,bVar1,uVar7)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(piVar6,bVar1,uVar7)" ( identifier , identifier , identifier ))) ;)) (goto_statement "goto LAB_000e2c7c;" goto statement_identifier ;) })) }) (else_clause "else {\n      pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);\n      pSVar8 = pSVar9;\n      if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }" else (compound_statement "{\n      pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);\n      pSVar8 = pSVar9;\n      if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }" { (expression_statement "pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);" (assignment_expression "pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88)" identifier = (pointer_expression "*(Sized_dwarf_line_info<32,false> **)(this + 0x88)" * (call_expression "(Sized_dwarf_line_info<32,false> **)(this + 0x88)" (parenthesized_expression "(Sized_dwarf_line_info<32,false> **)" ( (comma_expression "Sized_dwarf_line_info<32,false> **" (binary_expression "Sized_dwarf_line_info<32" identifier < number_literal) , (binary_expression "false> **" false > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(this + 0x88)" ( (binary_expression "this + 0x88" identifier + number_literal) ))))) ;) (expression_statement "pSVar8 = pSVar9;" (assignment_expression "pSVar8 = pSVar9" identifier = identifier) ;) (if_statement "if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }" if (parenthesized_expression "(pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0)" ( (binary_expression "pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0)" identifier == (parenthesized_expression "(Sized_dwarf_line_info<32,false> *)0x0)" ( (comma_expression "Sized_dwarf_line_info<32,false> *)0x0" (binary_expression "Sized_dwarf_line_info<32" identifier < number_literal) , (binary_expression "false> *)0x0" false > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }" { (labeled_statement "LAB_000e2e14:\n        local_28[0] = &local_38;" statement_identifier : (expression_statement "local_28[0] = &local_38;" (assignment_expression "local_28[0] = &local_38" (subscript_expression "local_28[0]" identifier [ number_literal ]) = (pointer_expression "&local_38" & identifier)) ;)) (expression_statement "local_1c = iVar3;" (assignment_expression "local_1c = iVar3" identifier = identifier) ;) (expression_statement "FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);" (call_expression "FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12)" identifier (argument_list "(&local_20,this + 0x80,pSVar8,local_28,puVar12)" ( (pointer_expression "&local_20" & identifier) , (binary_expression "this + 0x80" identifier + number_literal) , identifier , identifier , identifier ))) ;) (expression_statement "*(int *)(local_20 + 0x18) = local_1c;" (assignment_expression "*(int *)(local_20 + 0x18) = local_1c" (pointer_expression "*(int *)(local_20 + 0x18)" * (cast_expression "(int *)(local_20 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_20 + 0x18)" ( (binary_expression "local_20 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(local_20 + 0x24) = local_2c;" (assignment_expression "*(undefined4 *)(local_20 + 0x24) = local_2c" (pointer_expression "*(undefined4 *)(local_20 + 0x24)" * (cast_expression "(undefined4 *)(local_20 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_20 + 0x24)" ( (binary_expression "local_20 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(local_20 + 0x20) = local_30;" (assignment_expression "*(undefined4 *)(local_20 + 0x20) = local_30" (pointer_expression "*(undefined4 *)(local_20 + 0x20)" * (cast_expression "(undefined4 *)(local_20 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_20 + 0x20)" ( (binary_expression "local_20 + 0x20" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }" else (compound_statement "{\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }" { (do_statement "do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);" do (compound_statement "{\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        }" { (if_statement "if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }" if (parenthesized_expression "((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_))))" ( (binary_expression "(*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))" (parenthesized_expression "(*(int *)(pSVar4 + 0x10) < local_38._0_4_)" ( (binary_expression "*(int *)(pSVar4 + 0x10) < local_38._0_4_" (pointer_expression "*(int *)(pSVar4 + 0x10)" * (cast_expression "(int *)(pSVar4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar4 + 0x10)" ( (binary_expression "pSVar4 + 0x10" identifier + number_literal) )))) < (field_expression "local_38._0_4_" identifier . field_identifier)) )) || (parenthesized_expression "((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))" ( (parenthesized_expression "(*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_))" ( (binary_expression "*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)" (binary_expression "*(int *)(pSVar4 + 0x10) == local_38._0_4_" (pointer_expression "*(int *)(pSVar4 + 0x10)" * (cast_expression "(int *)(pSVar4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar4 + 0x10)" ( (binary_expression "pSVar4 + 0x10" identifier + number_literal) )))) == (field_expression "local_38._0_4_" identifier . field_identifier)) && (parenthesized_expression "(*(uint *)(pSVar4 + 0x14) < local_38._4_4_)" ( (binary_expression "*(uint *)(pSVar4 + 0x14) < local_38._4_4_" (pointer_expression "*(uint *)(pSVar4 + 0x14)" * (cast_expression "(uint *)(pSVar4 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar4 + 0x14)" ( (binary_expression "pSVar4 + 0x14" identifier + number_literal) )))) < (field_expression "local_38._4_4_" identifier . field_identifier)) ))) )) ))) )) (compound_statement "{\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }" { (expression_statement "pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);" (assignment_expression "pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc)" identifier = (pointer_expression "*(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc)" * (call_expression "(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc)" (parenthesized_expression "(Sized_dwarf_line_info<32,false> **)" ( (comma_expression "Sized_dwarf_line_info<32,false> **" (binary_expression "Sized_dwarf_line_info<32" identifier < number_literal) , (binary_expression "false> **" false > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(pSVar4 + 0xc)" ( (binary_expression "pSVar4 + 0xc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }" else (compound_statement "{\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }" { (expression_statement "pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);" (assignment_expression "pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8)" identifier = (pointer_expression "*(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8)" * (call_expression "(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8)" (parenthesized_expression "(Sized_dwarf_line_info<32,false> **)" ( (comma_expression "Sized_dwarf_line_info<32,false> **" (binary_expression "Sized_dwarf_line_info<32" identifier < number_literal) , (binary_expression "false> **" false > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(pSVar4 + 8)" ( (binary_expression "pSVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "pSVar8 = pSVar4;" (assignment_expression "pSVar8 = pSVar4" identifier = identifier) ;) }))) (expression_statement "pSVar4 = pSVar5;" (assignment_expression "pSVar4 = pSVar5" identifier = identifier) ;) }) while (parenthesized_expression "(pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0)" ( (binary_expression "pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0)" identifier != (parenthesized_expression "(Sized_dwarf_line_info<32,false> *)0x0)" ( (comma_expression "Sized_dwarf_line_info<32,false> *)0x0" (binary_expression "Sized_dwarf_line_info<32" identifier < number_literal) , (binary_expression "false> *)0x0" false > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) ;) (if_statement "if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;" if (parenthesized_expression "((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10)))" ( (binary_expression "(pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))" (parenthesized_expression "(pSVar9 == pSVar8)" ( (binary_expression "pSVar9 == pSVar8" identifier == identifier) )) || (parenthesized_expression "(local_38._0_4_ < *(int *)(pSVar8 + 0x10))" ( (binary_expression "local_38._0_4_ < *(int *)(pSVar8 + 0x10)" (field_expression "local_38._0_4_" identifier . field_identifier) < (pointer_expression "*(int *)(pSVar8 + 0x10)" * (cast_expression "(int *)(pSVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar8 + 0x10)" ( (binary_expression "pSVar8 + 0x10" identifier + number_literal) ))))) ))) )) (goto_statement "goto LAB_000e2e14;" goto statement_identifier ;)) (if_statement "if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }" if (parenthesized_expression "(*(int *)(pSVar8 + 0x10) == local_38._0_4_)" ( (binary_expression "*(int *)(pSVar8 + 0x10) == local_38._0_4_" (pointer_expression "*(int *)(pSVar8 + 0x10)" * (cast_expression "(int *)(pSVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar8 + 0x10)" ( (binary_expression "pSVar8 + 0x10" identifier + number_literal) )))) == (field_expression "local_38._0_4_" identifier . field_identifier)) )) (compound_statement "{\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }" { (if_statement "if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;" if (parenthesized_expression "(local_38._4_4_ < *(uint *)(pSVar8 + 0x14))" ( (binary_expression "local_38._4_4_ < *(uint *)(pSVar8 + 0x14)" (field_expression "local_38._4_4_" identifier . field_identifier) < (pointer_expression "*(uint *)(pSVar8 + 0x14)" * (cast_expression "(uint *)(pSVar8 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar8 + 0x14)" ( (binary_expression "pSVar8 + 0x14" identifier + number_literal) ))))) )) (goto_statement "goto LAB_000e2e14;" goto statement_identifier ;)) (expression_statement "*(int *)(pSVar8 + 0x18) = iVar3;" (assignment_expression "*(int *)(pSVar8 + 0x18) = iVar3" (pointer_expression "*(int *)(pSVar8 + 0x18)" * (cast_expression "(int *)(pSVar8 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar8 + 0x18)" ( (binary_expression "pSVar8 + 0x18" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }" else (compound_statement "{\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }" { (expression_statement "*(int *)(pSVar8 + 0x18) = iVar3;" (assignment_expression "*(int *)(pSVar8 + 0x18) = iVar3" (pointer_expression "*(int *)(pSVar8 + 0x18)" * (cast_expression "(int *)(pSVar8 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar8 + 0x18)" ( (binary_expression "pSVar8 + 0x18" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "*(undefined4 *)(pSVar8 + 0x24) = local_2c;" (assignment_expression "*(undefined4 *)(pSVar8 + 0x24) = local_2c" (pointer_expression "*(undefined4 *)(pSVar8 + 0x24)" * (cast_expression "(undefined4 *)(pSVar8 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar8 + 0x24)" ( (binary_expression "pSVar8 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pSVar8 + 0x20) = local_30;" (assignment_expression "*(undefined4 *)(pSVar8 + 0x20) = local_30" (pointer_expression "*(undefined4 *)(pSVar8 + 0x20)" * (cast_expression "(undefined4 *)(pSVar8 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar8 + 0x20)" ( (binary_expression "pSVar8 + 0x20" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "piVar6 = *(int **)(this + 0x54);" (assignment_expression "piVar6 = *(int **)(this + 0x54)" identifier = (pointer_expression "*(int **)(this + 0x54)" * (cast_expression "(int **)(this + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x54)" ( (binary_expression "this + 0x54" identifier + number_literal) ))))) ;) (expression_statement "bVar1 = (uint)(local_38 + 1) < local_38._4_4_;" (assignment_expression "bVar1 = (uint)(local_38 + 1) < local_38._4_4_" identifier = (binary_expression "(uint)(local_38 + 1) < local_38._4_4_" (call_expression "(uint)(local_38 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_38 + 1)" ( (binary_expression "local_38 + 1" identifier + number_literal) ))) < (field_expression "local_38._4_4_" identifier . field_identifier))) ;) (expression_statement "pcVar10 = *(code **)(*piVar6 + 0x10);" (assignment_expression "pcVar10 = *(code **)(*piVar6 + 0x10)" identifier = (pointer_expression "*(code **)(*piVar6 + 0x10)" * (cast_expression "(code **)(*piVar6 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar6 + 0x10)" ( (binary_expression "*piVar6 + 0x10" (pointer_expression "*piVar6" * identifier) + number_literal) ))))) ;) (expression_statement "uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);" (assignment_expression "uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)(local_38 + 1) >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)(local_38 + 1) >> 0x20)" ( (binary_expression "(ulonglong)(local_38 + 1) >> 0x20" (call_expression "(ulonglong)(local_38 + 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(local_38 + 1)" ( (binary_expression "local_38 + 1" identifier + number_literal) ))) >> number_literal) )))) ;) (if_statement "if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;" if (parenthesized_expression "(pcVar10 != (code *)PTR_do_advance_00432cfc)" ( (binary_expression "pcVar10 != (code *)PTR_do_advance_00432cfc" identifier != (cast_expression "(code *)PTR_do_advance_00432cfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_000e2df8;" goto statement_identifier ;)) }))) (expression_statement "(*(code *)PTR_advance_00432c14)(piVar6 + 7);" (call_expression "(*(code *)PTR_advance_00432c14)(piVar6 + 7)" (parenthesized_expression "(*(code *)PTR_advance_00432c14)" ( (pointer_expression "*(code *)PTR_advance_00432c14" * (cast_expression "(code *)PTR_advance_00432c14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar6 + 7)" ( (binary_expression "piVar6 + 7" identifier + number_literal) ))) ;) (expression_statement "piVar6 = *(int **)(this + 0x54);" (assignment_expression "piVar6 = *(int **)(this + 0x54)" identifier = (pointer_expression "*(int **)(this + 0x54)" * (cast_expression "(int **)(this + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x54)" ( (binary_expression "this + 0x54" identifier + number_literal) ))))) ;) (expression_statement "pcVar10 = *(code **)(*piVar6 + 0xc);" (assignment_expression "pcVar10 = *(code **)(*piVar6 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar6 + 0xc)" * (cast_expression "(code **)(*piVar6 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar6 + 0xc)" ( (binary_expression "*piVar6 + 0xc" (pointer_expression "*piVar6" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar10 == (code *)puVar2) goto LAB_000e2c90;" if (parenthesized_expression "(pcVar10 == (code *)puVar2)" ( (binary_expression "pcVar10 == (code *)puVar2" identifier == (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_000e2c90;" goto statement_identifier ;)) (labeled_statement "LAB_000e2d1c:\n    lVar11 = (*pcVar10)();" statement_identifier : (expression_statement "lVar11 = (*pcVar10)();" (assignment_expression "lVar11 = (*pcVar10)()" identifier = (call_expression "(*pcVar10)()" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "()" ( )))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) (ERROR "}" }))
(translation_unit "/* DWARF original prototype: void read_relocs(Sized_dwarf_line_info<32,_false> * this) */\n\nvoid __thiscall\ngold::Sized_dwarf_line_info<32,_false>::read_relocs(Sized_dwarf_line_info<32,_false> *this)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  _Rb_tree_color _Var3;\n  int iVar4;\n  _func_int_varargs **in_v1;\n  _func_int_varargs **extraout_v1;\n  _Base_ptr p_Var5;\n  _Base_ptr p_Var6;\n  Sized_elf_reloc_mapper<32,_false> *pSVar7;\n  undefined4 uVar8;\n  _Base_ptr p_Var9;\n  _Rb_tree_header *p_Var10;\n  _func_int_varargs *p_Var11;\n  off_t oVar12;\n  piecewise_construct_t *ppVar13;\n  off_t reloc_offset;\n  off_t value;\n  off_t *local_28 [2];\n  int local_20;\n  _Rb_tree_color local_1c;\n  \n  puVar2 = PTR_do_next_offset_00432cf8;\n  if (this->symtab_buffer_ == (uchar *)0x0) {\n    return;\n  }\n  p_Var10 = &(this->reloc_map_)._M_t._M_impl.super__Rb_tree_header;\nLAB_000e2c7c:\n  pSVar7 = this->reloc_mapper_;\n  p_Var11 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[3];\n  if (p_Var11 != (_func_int_varargs *)puVar2) goto LAB_000e2d1c;\nLAB_000e2c90:\n  oVar12 = (*(code *)PTR_next_offset_00432c18)(&pSVar7->track_relocs_);\n  do {\n    if ((int)((ulonglong)oVar12 >> 0x20) == -1) {\n      if ((int)oVar12 == -1) {\n        return;\n      }\n    }\n    ppVar13 = (piecewise_construct_t *)&value;\n    reloc_offset = oVar12;\n    _Var3 = (*(this->reloc_mapper_->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[5])\n                      (this->reloc_mapper_);\n    if (_Var3 == _S_red) {\n      pSVar7 = this->reloc_mapper_;\n      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;\n      p_Var11 = in_v1[4];\n      uVar8 = (undefined4)((ulonglong)(reloc_offset + 1) >> 0x20);\n      if (p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*p_Var11)(pSVar7,(uint)bVar1,uVar8);\n        goto LAB_000e2c7c;\n      }\n    }\n    else {\n      p_Var5 = (this->reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n      p_Var9 = &p_Var10->_M_header;\n      if (p_Var5 == (_Base_ptr)0x0) {\nLAB_000e2e14:\n        local_28[0] = &reloc_offset;\n        local_1c = _Var3;\n        std::\n        _Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n        ::\n        _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<long_long_int_const&>,_std::tuple<>_>\n                  ((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n                    *)&local_20,(const_iterator)&this->reloc_map_,\n                   (tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else {\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }\n      pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;\n      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper;\n      p_Var11 = in_v1[4];\n      uVar8 = (undefined4)((ulonglong)(reloc_offset + 1) >> 0x20);\n      if (p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }\n    (*(code *)PTR_advance_00432c14)(&pSVar7->track_relocs_);\n    pSVar7 = this->reloc_mapper_;\n    p_Var11 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[3];\n    in_v1 = extraout_v1;\n    if (p_Var11 == (_func_int_varargs *)puVar2) goto LAB_000e2c90;\nLAB_000e2d1c:\n    iVar4 = (*p_Var11)();\n    oVar12 = CONCAT44(iVar4,in_v1);\n  } while( true );\n}\n\n" comment (declaration "void __thiscall\ngold::Sized_dwarf_line_info<32,_false>::read_relocs(Sized_dwarf_line_info<32,_false> *this)\n\n{\n  bool bVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_false>::read_relocs(Sized_dwarf_line_info<32,_false> *this)\n\n{\n  bool" identifier > : : (function_declarator "read_relocs(Sized_dwarf_line_info<32,_false> *this)" identifier (parameter_list "(Sized_dwarf_line_info<32,_false> *this)" ( (parameter_declaration "Sized_dwarf_line_info" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) ))) { primitive_type) identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "_Rb_tree_color _Var3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "_func_int_varargs **in_v1;" type_identifier (pointer_declarator "**in_v1" * (pointer_declarator "*in_v1" * identifier)) ;) (declaration "_func_int_varargs **extraout_v1;" type_identifier (pointer_declarator "**extraout_v1" * (pointer_declarator "*extraout_v1" * identifier)) ;) (declaration "_Base_ptr p_Var5;" type_identifier identifier ;) (declaration "_Base_ptr p_Var6;" type_identifier identifier ;) (expression_statement "Sized_elf_reloc_mapper<32,_false> *pSVar7;" (update_expression "Sized_elf_reloc_mapper<32,_false> *pSVar7" (binary_expression "Sized_elf_reloc_mapper<32,_false> *pSVar7" (binary_expression "Sized_elf_reloc_mapper<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pSVar7" * identifier)) --) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "_Base_ptr p_Var9;" type_identifier identifier ;) (declaration "_Rb_tree_header *p_Var10;" type_identifier (pointer_declarator "*p_Var10" * identifier) ;) (declaration "_func_int_varargs *p_Var11;" type_identifier (pointer_declarator "*p_Var11" * identifier) ;) (declaration "off_t oVar12;" type_identifier identifier ;) (declaration "piecewise_construct_t *ppVar13;" type_identifier (pointer_declarator "*ppVar13" * identifier) ;) (declaration "off_t reloc_offset;" type_identifier identifier ;) (declaration "off_t value;" type_identifier identifier ;) (declaration "off_t *local_28 [2];" type_identifier (pointer_declarator "*local_28 [2]" * (array_declarator "local_28 [2]" identifier [ number_literal ])) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "_Rb_tree_color local_1c;" type_identifier identifier ;) (expression_statement "puVar2 = PTR_do_next_offset_00432cf8;" (assignment_expression "puVar2 = PTR_do_next_offset_00432cf8" identifier = identifier) ;) (if_statement "if (this->symtab_buffer_ == (uchar *)0x0) {\n    return;\n  }" if (parenthesized_expression "(this->symtab_buffer_ == (uchar *)0x0)" ( (binary_expression "this->symtab_buffer_ == (uchar *)0x0" (field_expression "this->symtab_buffer_" identifier -> field_identifier) == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "p_Var10 = &(this->reloc_map_)._M_t._M_impl.super__Rb_tree_header;" (assignment_expression "p_Var10 = &(this->reloc_map_)._M_t._M_impl.super__Rb_tree_header" identifier = (pointer_expression "&(this->reloc_map_)._M_t._M_impl.super__Rb_tree_header" & (field_expression "(this->reloc_map_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(this->reloc_map_)._M_t._M_impl" (field_expression "(this->reloc_map_)._M_t" (parenthesized_expression "(this->reloc_map_)" ( (field_expression "this->reloc_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) ;) (labeled_statement "LAB_000e2c7c:\n  pSVar7 = this->reloc_mapper_;" statement_identifier : (expression_statement "pSVar7 = this->reloc_mapper_;" (assignment_expression "pSVar7 = this->reloc_mapper_" identifier = (field_expression "this->reloc_mapper_" identifier -> field_identifier)) ;)) (expression_statement "p_Var11 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[3];" (assignment_expression "p_Var11 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[3]" identifier = (subscript_expression "(pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[3]" (field_expression "(pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper" (parenthesized_expression "(pSVar7->super_Elf_reloc_mapper)" ( (field_expression "pSVar7->super_Elf_reloc_mapper" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var11 != (_func_int_varargs *)puVar2) goto LAB_000e2d1c;" if (parenthesized_expression "(p_Var11 != (_func_int_varargs *)puVar2)" ( (binary_expression "p_Var11 != (_func_int_varargs *)puVar2" identifier != (cast_expression "(_func_int_varargs *)puVar2" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_000e2d1c;" goto statement_identifier ;)) (labeled_statement "LAB_000e2c90:\n  oVar12 = (*(code *)PTR_next_offset_00432c18)(&pSVar7->track_relocs_);" statement_identifier : (expression_statement "oVar12 = (*(code *)PTR_next_offset_00432c18)(&pSVar7->track_relocs_);" (assignment_expression "oVar12 = (*(code *)PTR_next_offset_00432c18)(&pSVar7->track_relocs_)" identifier = (call_expression "(*(code *)PTR_next_offset_00432c18)(&pSVar7->track_relocs_)" (parenthesized_expression "(*(code *)PTR_next_offset_00432c18)" ( (pointer_expression "*(code *)PTR_next_offset_00432c18" * (cast_expression "(code *)PTR_next_offset_00432c18" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&pSVar7->track_relocs_)" ( (pointer_expression "&pSVar7->track_relocs_" & (field_expression "pSVar7->track_relocs_" identifier -> field_identifier)) )))) ;)) (ERROR "do {\n    if ((int)((ulonglong)oVar12 >> 0x20) == -1) {\n      if ((int)oVar12 == -1) {\n        return;\n      }\n    }\n    ppVar13 = (piecewise_construct_t *)&value;\n    reloc_offset = oVar12;\n    _Var3 = (*(this->reloc_mapper_->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[5])\n                      (this->reloc_mapper_);\n    if (_Var3 == _S_red) {\n      pSVar7 = this->reloc_mapper_;\n      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;\n      p_Var11 = in_v1[4];\n      uVar8 = (undefined4)((ulonglong)(reloc_offset + 1) >> 0x20);\n      if (p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*p_Var11)(pSVar7,(uint)bVar1,uVar8);\n        goto LAB_000e2c7c;\n      }\n    }\n    else {\n      p_Var5 = (this->reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n      p_Var9 = &p_Var10->_M_header;\n      if (p_Var5 == (_Base_ptr)0x0) {\nLAB_000e2e14:\n        local_28[0] = &reloc_offset;\n        local_1c = _Var3;\n        std::\n        _Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n        ::\n        _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<long_long_int_const&>,_std::tuple<>_>\n                  ((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n                    *)&local_20,(const_iterator)&this->reloc_map_,\n                   (tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else {\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }\n      pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;\n      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper;\n      p_Var11 = in_v1[4];\n      uVar8 = (undefined4)((ulonglong)(reloc_offset + 1) >> 0x20);\n      if (p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }\n    (*(code *)PTR_advance_00432c14)(&pSVar7->track_relocs_);\n    pSVar7 = this->reloc_mapper_;\n    p_Var11 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[3];\n    in_v1 = extraout_v1;\n    if (p_Var11 == (_func_int_varargs *)puVar2) goto LAB_000e2c90;\nLAB_000e2d1c:\n    iVar4 = (*p_Var11)();\n    oVar12 = CONCAT44(iVar4,in_v1);\n  } while( true );\n}" do (compound_statement "{\n    if ((int)((ulonglong)oVar12 >> 0x20) == -1) {\n      if ((int)oVar12 == -1) {\n        return;\n      }\n    }\n    ppVar13 = (piecewise_construct_t *)&value;\n    reloc_offset = oVar12;\n    _Var3 = (*(this->reloc_mapper_->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[5])\n                      (this->reloc_mapper_);\n    if (_Var3 == _S_red) {\n      pSVar7 = this->reloc_mapper_;\n      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;\n      p_Var11 = in_v1[4];\n      uVar8 = (undefined4)((ulonglong)(reloc_offset + 1) >> 0x20);\n      if (p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*p_Var11)(pSVar7,(uint)bVar1,uVar8);\n        goto LAB_000e2c7c;\n      }\n    }\n    else {\n      p_Var5 = (this->reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n      p_Var9 = &p_Var10->_M_header;\n      if (p_Var5 == (_Base_ptr)0x0) {\nLAB_000e2e14:\n        local_28[0] = &reloc_offset;\n        local_1c = _Var3;\n        std::\n        _Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n        ::\n        _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<long_long_int_const&>,_std::tuple<>_>\n                  ((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n                    *)&local_20,(const_iterator)&this->reloc_map_,\n                   (tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else {\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }\n      pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;\n      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper;\n      p_Var11 = in_v1[4];\n      uVar8 = (undefined4)((ulonglong)(reloc_offset + 1) >> 0x20);\n      if (p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }\n    (*(code *)PTR_advance_00432c14)(&pSVar7->track_relocs_);\n    pSVar7 = this->reloc_mapper_;\n    p_Var11 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[3];\n    in_v1 = extraout_v1;\n    if (p_Var11 == (_func_int_varargs *)puVar2) goto LAB_000e2c90;\nLAB_000e2d1c:\n    iVar4 = (*p_Var11)();\n    oVar12 = CONCAT44(iVar4,in_v1);\n  } while( true );\n}" { (if_statement "if ((int)((ulonglong)oVar12 >> 0x20) == -1) {\n      if ((int)oVar12 == -1) {\n        return;\n      }\n    }" if (parenthesized_expression "((int)((ulonglong)oVar12 >> 0x20) == -1)" ( (binary_expression "(int)((ulonglong)oVar12 >> 0x20) == -1" (cast_expression "(int)((ulonglong)oVar12 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)oVar12 >> 0x20)" ( (binary_expression "(ulonglong)oVar12 >> 0x20" (cast_expression "(ulonglong)oVar12" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n      if ((int)oVar12 == -1) {\n        return;\n      }\n    }" { (if_statement "if ((int)oVar12 == -1) {\n        return;\n      }" if (parenthesized_expression "((int)oVar12 == -1)" ( (binary_expression "(int)oVar12 == -1" (cast_expression "(int)oVar12" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) })) (expression_statement "ppVar13 = (piecewise_construct_t *)&value;" (assignment_expression "ppVar13 = (piecewise_construct_t *)&value" identifier = (cast_expression "(piecewise_construct_t *)&value" ( (type_descriptor "piecewise_construct_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&value" & identifier))) ;) (expression_statement "reloc_offset = oVar12;" (assignment_expression "reloc_offset = oVar12" identifier = identifier) ;) (expression_statement "_Var3 = (*(this->reloc_mapper_->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[5])\n                      (this->reloc_mapper_);" (assignment_expression "_Var3 = (*(this->reloc_mapper_->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[5])\n                      (this->reloc_mapper_)" identifier = (call_expression "(*(this->reloc_mapper_->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[5])\n                      (this->reloc_mapper_)" (parenthesized_expression "(*(this->reloc_mapper_->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[5])" ( (pointer_expression "*(this->reloc_mapper_->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[5]" * (subscript_expression "(this->reloc_mapper_->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[5]" (field_expression "(this->reloc_mapper_->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper" (parenthesized_expression "(this->reloc_mapper_->super_Elf_reloc_mapper)" ( (field_expression "this->reloc_mapper_->super_Elf_reloc_mapper" (field_expression "this->reloc_mapper_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) [ number_literal ])) )) (argument_list "(this->reloc_mapper_)" ( (field_expression "this->reloc_mapper_" identifier -> field_identifier) )))) ;) (if_statement "if (_Var3 == _S_red) {\n      pSVar7 = this->reloc_mapper_;\n      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;\n      p_Var11 = in_v1[4];\n      uVar8 = (undefined4)((ulonglong)(reloc_offset + 1) >> 0x20);\n      if (p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*p_Var11)(pSVar7,(uint)bVar1,uVar8);\n        goto LAB_000e2c7c;\n      }\n    }\n    else {\n      p_Var5 = (this->reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n      p_Var9 = &p_Var10->_M_header;\n      if (p_Var5 == (_Base_ptr)0x0) {\nLAB_000e2e14:\n        local_28[0] = &reloc_offset;\n        local_1c = _Var3;\n        std::\n        _Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n        ::\n        _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<long_long_int_const&>,_std::tuple<>_>\n                  ((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n                    *)&local_20,(const_iterator)&this->reloc_map_,\n                   (tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else {\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }\n      pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;\n      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper;\n      p_Var11 = in_v1[4];\n      uVar8 = (undefined4)((ulonglong)(reloc_offset + 1) >> 0x20);\n      if (p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }\n    (*(code *)PTR_advance_00432c14)(&pSVar7->track_relocs_);\n    pSVar7 = this->reloc_mapper_;\n    p_Var11 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[3];\n    in_v1 = extraout_v1;\n    if (p_Var11 == (_func_int_varargs *)puVar2) goto LAB_000e2c90;\nLAB_000e2d1c:\n    iVar4 = (*p_Var11)();\n    oVar12 = CONCAT44(iVar4,in_v1);\n  }" if (parenthesized_expression "(_Var3 == _S_red)" ( (binary_expression "_Var3 == _S_red" identifier == identifier) )) (compound_statement "{\n      pSVar7 = this->reloc_mapper_;\n      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;\n      p_Var11 = in_v1[4];\n      uVar8 = (undefined4)((ulonglong)(reloc_offset + 1) >> 0x20);\n      if (p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*p_Var11)(pSVar7,(uint)bVar1,uVar8);\n        goto LAB_000e2c7c;\n      }\n    }" { (expression_statement "pSVar7 = this->reloc_mapper_;" (assignment_expression "pSVar7 = this->reloc_mapper_" identifier = (field_expression "this->reloc_mapper_" identifier -> field_identifier)) ;) (expression_statement "in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper;" (assignment_expression "in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper" identifier = (field_expression "(pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper" (parenthesized_expression "(pSVar7->super_Elf_reloc_mapper)" ( (field_expression "pSVar7->super_Elf_reloc_mapper" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;" (assignment_expression "bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_" identifier = (binary_expression "(uint)(reloc_offset + 1) < reloc_offset._4_4_" (call_expression "(uint)(reloc_offset + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(reloc_offset + 1)" ( (binary_expression "reloc_offset + 1" identifier + number_literal) ))) < (field_expression "reloc_offset._4_4_" identifier . field_identifier))) ;) (expression_statement "p_Var11 = in_v1[4];" (assignment_expression "p_Var11 = in_v1[4]" identifier = (subscript_expression "in_v1[4]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = (undefined4)((ulonglong)(reloc_offset + 1) >> 0x20);" (assignment_expression "uVar8 = (undefined4)((ulonglong)(reloc_offset + 1) >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)(reloc_offset + 1) >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)(reloc_offset + 1) >> 0x20)" ( (binary_expression "(ulonglong)(reloc_offset + 1) >> 0x20" (call_expression "(ulonglong)(reloc_offset + 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(reloc_offset + 1)" ( (binary_expression "reloc_offset + 1" identifier + number_literal) ))) >> number_literal) )))) ;) (if_statement "if (p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*p_Var11)(pSVar7,(uint)bVar1,uVar8);\n        goto LAB_000e2c7c;\n      }" if (parenthesized_expression "(p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc)" ( (binary_expression "p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc" identifier != (cast_expression "(_func_int_varargs *)PTR_do_advance_00432cfc" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\nLAB_000e2df8:\n        (*p_Var11)(pSVar7,(uint)bVar1,uVar8);\n        goto LAB_000e2c7c;\n      }" { (labeled_statement "LAB_000e2df8:\n        (*p_Var11)(pSVar7,(uint)bVar1,uVar8);" statement_identifier : (expression_statement "(*p_Var11)(pSVar7,(uint)bVar1,uVar8);" (call_expression "(*p_Var11)(pSVar7,(uint)bVar1,uVar8)" (parenthesized_expression "(*p_Var11)" ( (pointer_expression "*p_Var11" * identifier) )) (argument_list "(pSVar7,(uint)bVar1,uVar8)" ( identifier , (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier ))) ;)) (goto_statement "goto LAB_000e2c7c;" goto statement_identifier ;) })) }) (else_clause "else {\n      p_Var5 = (this->reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n      p_Var9 = &p_Var10->_M_header;\n      if (p_Var5 == (_Base_ptr)0x0) {\nLAB_000e2e14:\n        local_28[0] = &reloc_offset;\n        local_1c = _Var3;\n        std::\n        _Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n        ::\n        _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<long_long_int_const&>,_std::tuple<>_>\n                  ((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n                    *)&local_20,(const_iterator)&this->reloc_map_,\n                   (tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else {\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }\n      pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;\n      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper;\n      p_Var11 = in_v1[4];\n      uVar8 = (undefined4)((ulonglong)(reloc_offset + 1) >> 0x20);\n      if (p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }\n    (*(code *)PTR_advance_00432c14)(&pSVar7->track_relocs_);\n    pSVar7 = this->reloc_mapper_;\n    p_Var11 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[3];\n    in_v1 = extraout_v1;\n    if (p_Var11 == (_func_int_varargs *)puVar2) goto LAB_000e2c90;\nLAB_000e2d1c:\n    iVar4 = (*p_Var11)();\n    oVar12 = CONCAT44(iVar4,in_v1);\n  }" else (compound_statement "{\n      p_Var5 = (this->reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n      p_Var9 = &p_Var10->_M_header;\n      if (p_Var5 == (_Base_ptr)0x0) {\nLAB_000e2e14:\n        local_28[0] = &reloc_offset;\n        local_1c = _Var3;\n        std::\n        _Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n        ::\n        _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<long_long_int_const&>,_std::tuple<>_>\n                  ((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n                    *)&local_20,(const_iterator)&this->reloc_map_,\n                   (tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else {\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }\n      pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;\n      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper;\n      p_Var11 = in_v1[4];\n      uVar8 = (undefined4)((ulonglong)(reloc_offset + 1) >> 0x20);\n      if (p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }\n    (*(code *)PTR_advance_00432c14)(&pSVar7->track_relocs_);\n    pSVar7 = this->reloc_mapper_;\n    p_Var11 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[3];\n    in_v1 = extraout_v1;\n    if (p_Var11 == (_func_int_varargs *)puVar2) goto LAB_000e2c90;\nLAB_000e2d1c:\n    iVar4 = (*p_Var11)();\n    oVar12 = CONCAT44(iVar4,in_v1);\n  }" { (expression_statement "p_Var5 = (this->reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;" (assignment_expression "p_Var5 = (this->reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" identifier = (field_expression "(this->reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "(this->reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(this->reloc_map_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(this->reloc_map_)._M_t._M_impl" (field_expression "(this->reloc_map_)._M_t" (parenthesized_expression "(this->reloc_map_)" ( (field_expression "this->reloc_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var9 = &p_Var10->_M_header;" (assignment_expression "p_Var9 = &p_Var10->_M_header" identifier = (pointer_expression "&p_Var10->_M_header" & (field_expression "p_Var10->_M_header" identifier -> field_identifier))) ;) (if_statement "if (p_Var5 == (_Base_ptr)0x0) {\nLAB_000e2e14:\n        local_28[0] = &reloc_offset;\n        local_1c = _Var3;\n        std::\n        _Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n        ::\n        _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<long_long_int_const&>,_std::tuple<>_>\n                  ((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n                    *)&local_20,(const_iterator)&this->reloc_map_,\n                   (tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else {\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }\n      pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;\n      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper;\n      p_Var11 = in_v1[4];\n      uVar8 = (undefined4)((ulonglong)(reloc_offset + 1) >> 0x20);\n      if (p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }" if (parenthesized_expression "(p_Var5 == (_Base_ptr)0x0)" ( (binary_expression "p_Var5 == (_Base_ptr)0x0" identifier == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (compound_statement "{\nLAB_000e2e14:\n        local_28[0] = &reloc_offset;\n        local_1c = _Var3;\n        std::\n        _Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n        ::\n        _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<long_long_int_const&>,_std::tuple<>_>\n                  ((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n                    *)&local_20,(const_iterator)&this->reloc_map_,\n                   (tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else {\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }\n      pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;\n      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper;\n      p_Var11 = in_v1[4];\n      uVar8 = (undefined4)((ulonglong)(reloc_offset + 1) >> 0x20);\n      if (p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }" { (labeled_statement "LAB_000e2e14:\n        local_28[0] = &reloc_offset;" statement_identifier : (expression_statement "local_28[0] = &reloc_offset;" (assignment_expression "local_28[0] = &reloc_offset" (subscript_expression "local_28[0]" identifier [ number_literal ]) = (pointer_expression "&reloc_offset" & identifier)) ;)) (expression_statement "local_1c = _Var3;" (assignment_expression "local_1c = _Var3" identifier = identifier) ;) (ERROR "std::\n        _Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n        ::\n        _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<long_long_int_const&>,_std::" (comma_expression "std::\n        _Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std" identifier (ERROR "::\n        _Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>" : : (comma_expression "_Rb_tree<long_long_int,_std" (binary_expression "_Rb_tree<long_long_int" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_int_const,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_long_int>_>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_long_int>_>,_std" (binary_expression "_long_long_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<long_long_int_const,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_long_int>_>_>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_long_int>_>_>,_std" (binary_expression "_long_long_int>_>_" (binary_expression "_long_long_int>_" identifier > identifier) > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "less<long_long_int" identifier < identifier) >) , identifier) : : identifier < identifier : : (comma_expression "pair<long_long_int_const,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_long_int>_>_>_>\n        ::\n        _M_emplace_hint_unique<const_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_long_int>_>_>_>\n        ::\n        _M_emplace_hint_unique<const_std" (binary_expression "_long_long_int>_>_>_>\n        ::\n        _M_emplace_hint_unique" (binary_expression "_long_long_int>_>_>_" (binary_expression "_long_long_int>_>_" (binary_expression "_long_long_int>_" identifier > identifier) > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)) : : (binary_expression "piecewise_construct_t&,_std" identifier & (ERROR "," ,) identifier) : : (comma_expression "tuple<long_long_int_const&>,_std" (binary_expression "tuple<long_long_int_const" identifier < identifier) (ERROR "&>" & >) , identifier) : :) (expression_statement "tuple<>_>\n                  ((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n                    *)&local_20,(const_iterator)&this->reloc_map_,\n                   (tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else {\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }\n      pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;\n      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper;" (binary_expression "tuple<>_>\n                  ((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n                    *)&local_20,(const_iterator)&this->reloc_map_,\n                   (tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else {\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }\n      pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;\n      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper" (binary_expression "tuple<>_" identifier < (ERROR ">" >) identifier) > (parenthesized_expression "((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n                    *)&local_20,(const_iterator)&this->reloc_map_,\n                   (tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else {\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }\n      pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;\n      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper" ( (field_expression "(_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n                    *)&local_20,(const_iterator)&this->reloc_map_,\n                   (tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else {\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }\n      pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;\n      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper" (parenthesized_expression "(_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n                    *)&local_20,(const_iterator)&this->reloc_map_,\n                   (tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else {\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }\n      pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;\n      in_v1 = (pSVar7->super_Elf_reloc_mapper)" ( (ERROR "_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::" (comma_expression "_Rb_tree<long_long_int,_std" (binary_expression "_Rb_tree<long_long_int" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_int_const,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_long_int>_>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_long_int>_>,_std" (binary_expression "_long_long_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<long_long_int_const,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_long_int>_>_>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_long_int>_>_>,_std" (binary_expression "_long_long_int>_>_" (binary_expression "_long_long_int>_" identifier > identifier) > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "less<long_long_int>,_std" (binary_expression "less<long_long_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_int_const,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : :) (comma_expression "pair<unsigned_int,_long_long_int>_>_>_>\n                    *)&local_20,(const_iterator)&this->reloc_map_,\n                   (tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else {\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }\n      pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_" (binary_expression "pair<unsigned_int" identifier < identifier) , (comma_expression "_long_long_int>_>_>_>\n                    *)&local_20,(const_iterator)&this->reloc_map_,\n                   (tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else {\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }\n      pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_" (binary_expression "_long_long_int>_>_>_>\n                    *)&local_20" (binary_expression "_long_long_int>_>_>_" (binary_expression "_long_long_int>_>_" (binary_expression "_long_long_int>_" identifier > identifier) > identifier) > identifier) > (pointer_expression "*)&local_20" * (ERROR ")" )) (pointer_expression "&local_20" & identifier))) , (comma_expression "(const_iterator)&this->reloc_map_,\n                   (tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else {\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }\n      pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_" (binary_expression "(const_iterator)&this->reloc_map_" (parenthesized_expression "(const_iterator)" ( identifier )) & (field_expression "this->reloc_map_" identifier -> field_identifier)) , (binary_expression "(tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else {\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }\n      pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_" (call_expression "(tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else {\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }\n      pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint)(reloc_offset + 1)" (parenthesized_expression "(tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else {\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }\n      pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint)" ( (ERROR "tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);\n        *(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_;\n      }\n      else" (comma_expression "tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13)" (binary_expression "tuple<long_long_int_const&> *)p_Var9" (binary_expression "tuple<long_long_int_const" identifier < identifier) (ERROR "&" &) > (pointer_expression "*)p_Var9" * (ERROR ")" )) identifier)) , (parenthesized_expression "(tuple<> *)local_28,ppVar13)" ( (comma_expression "tuple<> *)local_28,ppVar13" (binary_expression "tuple<> *)local_28" identifier < (ERROR ">" >) (pointer_expression "*)local_28" * (ERROR ")" )) identifier)) , identifier) ))) ; (binary_expression "*(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_;\n        *(undefined4 *)(local_20 + 0x20) = value._0_4_" (binary_expression "*(_Rb_tree_color *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = value._4_4_" (assignment_expression "*(_Rb_tree_color *)(local_20 + 0x18) = local_1c" (pointer_expression "*(_Rb_tree_color *)(local_20 + 0x18)" * (cast_expression "(_Rb_tree_color *)(local_20 + 0x18)" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_20 + 0x18)" ( (binary_expression "local_20 + 0x18" identifier + number_literal) )))) = identifier) (ERROR ";" ;) * (cast_expression "(undefined4 *)(local_20 + 0x24) = value._4_4_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "(local_20 + 0x24) = value._4_4_" (parenthesized_expression "(local_20 + 0x24)" ( (binary_expression "local_20 + 0x24" identifier + number_literal) )) = (field_expression "value._4_4_" identifier . field_identifier)))) (ERROR ";" ;) * (cast_expression "(undefined4 *)(local_20 + 0x20) = value._0_4_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "(local_20 + 0x20) = value._0_4_" (parenthesized_expression "(local_20 + 0x20)" ( (binary_expression "local_20 + 0x20" identifier + number_literal) )) = (field_expression "value._0_4_" identifier . field_identifier)))) ; } else) (compound_statement "{\n        do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);\n        if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;\n        if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;\n        *(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;\n      }" { (do_statement "do {\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        } while (p_Var6 != (_Base_ptr)0x0);" do (compound_statement "{\n          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }\n          p_Var5 = p_Var6;\n        }" { (if_statement "if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {\n            p_Var6 = p_Var5->_M_right;\n          }\n          else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }" if (parenthesized_expression "(((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_))))" ( (binary_expression "((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||\n             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))" (parenthesized_expression "((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_)" ( (binary_expression "(int)p_Var5[1]._M_color < (int)reloc_offset._0_4_" (cast_expression "(int)p_Var5[1]._M_color" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var5[1]._M_color" (subscript_expression "p_Var5[1]" identifier [ number_literal ]) . field_identifier)) < (cast_expression "(int)reloc_offset._0_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "reloc_offset._0_4_" identifier . field_identifier))) )) || (parenthesized_expression "((p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))" ( (parenthesized_expression "(p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_))" ( (binary_expression "p_Var5[1]._M_color == reloc_offset._0_4_ &&\n              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)" (binary_expression "p_Var5[1]._M_color == reloc_offset._0_4_" (field_expression "p_Var5[1]._M_color" (subscript_expression "p_Var5[1]" identifier [ number_literal ]) . field_identifier) == (field_expression "reloc_offset._0_4_" identifier . field_identifier)) && (parenthesized_expression "(*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)" ( (binary_expression "*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_" (pointer_expression "*(uint *)((int)(p_Var5 + 1) + 4)" * (cast_expression "(uint *)((int)(p_Var5 + 1) + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(p_Var5 + 1) + 4)" ( (binary_expression "(int)(p_Var5 + 1) + 4" (cast_expression "(int)(p_Var5 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(p_Var5 + 1)" ( (binary_expression "p_Var5 + 1" identifier + number_literal) ))) + number_literal) )))) < (field_expression "reloc_offset._4_4_" identifier . field_identifier)) ))) )) ))) )) (compound_statement "{\n            p_Var6 = p_Var5->_M_right;\n          }" { (expression_statement "p_Var6 = p_Var5->_M_right;" (assignment_expression "p_Var6 = p_Var5->_M_right" identifier = (field_expression "p_Var5->_M_right" identifier -> field_identifier)) ;) }) (else_clause "else {\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }" else (compound_statement "{\n            p_Var6 = p_Var5->_M_left;\n            p_Var9 = p_Var5;\n          }" { (expression_statement "p_Var6 = p_Var5->_M_left;" (assignment_expression "p_Var6 = p_Var5->_M_left" identifier = (field_expression "p_Var5->_M_left" identifier -> field_identifier)) ;) (expression_statement "p_Var9 = p_Var5;" (assignment_expression "p_Var9 = p_Var5" identifier = identifier) ;) }))) (expression_statement "p_Var5 = p_Var6;" (assignment_expression "p_Var5 = p_Var6" identifier = identifier) ;) }) while (parenthesized_expression "(p_Var6 != (_Base_ptr)0x0)" ( (binary_expression "p_Var6 != (_Base_ptr)0x0" identifier != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) ;) (if_statement "if ((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))\n        goto LAB_000e2e14;" if (parenthesized_expression "((p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count))" ( (binary_expression "(p_Var10 == (_Rb_tree_header *)p_Var9) ||\n           ((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count)" (parenthesized_expression "(p_Var10 == (_Rb_tree_header *)p_Var9)" ( (binary_expression "p_Var10 == (_Rb_tree_header *)p_Var9" identifier == (cast_expression "(_Rb_tree_header *)p_Var9" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) || (parenthesized_expression "((int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count)" ( (binary_expression "(int)reloc_offset._0_4_ < (int)((_Rb_tree_header *)p_Var9)->_M_node_count" (cast_expression "(int)reloc_offset._0_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "reloc_offset._0_4_" identifier . field_identifier)) < (cast_expression "(int)((_Rb_tree_header *)p_Var9)->_M_node_count" ( (type_descriptor "int" primitive_type) ) (field_expression "((_Rb_tree_header *)p_Var9)->_M_node_count" (parenthesized_expression "((_Rb_tree_header *)p_Var9)" ( (cast_expression "(_Rb_tree_header *)p_Var9" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) ))) )) (goto_statement "goto LAB_000e2e14;" goto statement_identifier ;)) (if_statement "if (((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_) {\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }\n        else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }" if (parenthesized_expression "(((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_)" ( (binary_expression "((_Rb_tree_header *)p_Var9)->_M_node_count == reloc_offset._0_4_" (field_expression "((_Rb_tree_header *)p_Var9)->_M_node_count" (parenthesized_expression "((_Rb_tree_header *)p_Var9)" ( (cast_expression "(_Rb_tree_header *)p_Var9" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) == (field_expression "reloc_offset._0_4_" identifier . field_identifier)) )) (compound_statement "{\n          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }" { (if_statement "if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;" if (parenthesized_expression "(reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14))" ( (binary_expression "reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)" (field_expression "reloc_offset._4_4_" identifier . field_identifier) < (pointer_expression "*(uint *)((int)p_Var9 + 0x14)" * (cast_expression "(uint *)((int)p_Var9 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_Var9 + 0x14)" ( (binary_expression "(int)p_Var9 + 0x14" (cast_expression "(int)p_Var9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (goto_statement "goto LAB_000e2e14;" goto statement_identifier ;)) (expression_statement "*(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;" (assignment_expression "*(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3" (pointer_expression "*(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4)" * (cast_expression "(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4)" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((undefined1 *)((int)p_Var9 + 0x14) + 4)" ( (binary_expression "(undefined1 *)((int)p_Var9 + 0x14) + 4" (cast_expression "(undefined1 *)((int)p_Var9 + 0x14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_Var9 + 0x14)" ( (binary_expression "(int)p_Var9 + 0x14" (cast_expression "(int)p_Var9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }" else (compound_statement "{\n          *(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;\n        }" { (expression_statement "*(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;" (assignment_expression "*(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3" (pointer_expression "*(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4)" * (cast_expression "(_Rb_tree_color *)((undefined1 *)((int)p_Var9 + 0x14) + 4)" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((undefined1 *)((int)p_Var9 + 0x14) + 4)" ( (binary_expression "(undefined1 *)((int)p_Var9 + 0x14) + 4" (cast_expression "(undefined1 *)((int)p_Var9 + 0x14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_Var9 + 0x14)" ( (binary_expression "(int)p_Var9 + 0x14" (cast_expression "(int)p_Var9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + number_literal) )))) = identifier) ;) }))) (expression_statement "*(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;" (assignment_expression "*(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_" (pointer_expression "*(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10)" * (cast_expression "(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((undefined1 *)((int)p_Var9 + 0x14) + 0x10)" ( (binary_expression "(undefined1 *)((int)p_Var9 + 0x14) + 0x10" (cast_expression "(undefined1 *)((int)p_Var9 + 0x14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_Var9 + 0x14)" ( (binary_expression "(int)p_Var9 + 0x14" (cast_expression "(int)p_Var9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + number_literal) )))) = (field_expression "value._4_4_" identifier . field_identifier)) ;) (expression_statement "*(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;" (assignment_expression "*(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_" (pointer_expression "*(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc)" * (cast_expression "(undefined4 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((undefined1 *)((int)p_Var9 + 0x14) + 0xc)" ( (binary_expression "(undefined1 *)((int)p_Var9 + 0x14) + 0xc" (cast_expression "(undefined1 *)((int)p_Var9 + 0x14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_Var9 + 0x14)" ( (binary_expression "(int)p_Var9 + 0x14" (cast_expression "(int)p_Var9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + number_literal) )))) = (field_expression "value._0_4_" identifier . field_identifier)) ;) }) (ERROR "pSVar7 = this->reloc_mapper_;\n      bVar1 = (uint" identifier = identifier -> identifier ; identifier = ( identifier) )) (argument_list "(reloc_offset + 1)" ( (binary_expression "reloc_offset + 1" identifier + number_literal) ))) < (field_expression "reloc_offset._4_4_" identifier . field_identifier))))) (ERROR ";\n      in_v1 = (pSVar7->super_Elf_reloc_mapper" ; identifier = ( identifier -> identifier) )) . field_identifier) ))) ;) (expression_statement "p_Var11 = in_v1[4];" (assignment_expression "p_Var11 = in_v1[4]" identifier = (subscript_expression "in_v1[4]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = (undefined4)((ulonglong)(reloc_offset + 1) >> 0x20);" (assignment_expression "uVar8 = (undefined4)((ulonglong)(reloc_offset + 1) >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)(reloc_offset + 1) >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)(reloc_offset + 1) >> 0x20)" ( (binary_expression "(ulonglong)(reloc_offset + 1) >> 0x20" (call_expression "(ulonglong)(reloc_offset + 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(reloc_offset + 1)" ( (binary_expression "reloc_offset + 1" identifier + number_literal) ))) >> number_literal) )))) ;) (if_statement "if (p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc) goto LAB_000e2df8;" if (parenthesized_expression "(p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc)" ( (binary_expression "p_Var11 != (_func_int_varargs *)PTR_do_advance_00432cfc" identifier != (cast_expression "(_func_int_varargs *)PTR_do_advance_00432cfc" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_000e2df8;" goto statement_identifier ;)) })) (expression_statement "(*(code *)PTR_advance_00432c14)(&pSVar7->track_relocs_);" (call_expression "(*(code *)PTR_advance_00432c14)(&pSVar7->track_relocs_)" (parenthesized_expression "(*(code *)PTR_advance_00432c14)" ( (pointer_expression "*(code *)PTR_advance_00432c14" * (cast_expression "(code *)PTR_advance_00432c14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&pSVar7->track_relocs_)" ( (pointer_expression "&pSVar7->track_relocs_" & (field_expression "pSVar7->track_relocs_" identifier -> field_identifier)) ))) ;) (expression_statement "pSVar7 = this->reloc_mapper_;" (assignment_expression "pSVar7 = this->reloc_mapper_" identifier = (field_expression "this->reloc_mapper_" identifier -> field_identifier)) ;) (expression_statement "p_Var11 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[3];" (assignment_expression "p_Var11 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[3]" identifier = (subscript_expression "(pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[3]" (field_expression "(pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper" (parenthesized_expression "(pSVar7->super_Elf_reloc_mapper)" ( (field_expression "pSVar7->super_Elf_reloc_mapper" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (expression_statement "in_v1 = extraout_v1;" (assignment_expression "in_v1 = extraout_v1" identifier = identifier) ;) (if_statement "if (p_Var11 == (_func_int_varargs *)puVar2) goto LAB_000e2c90;" if (parenthesized_expression "(p_Var11 == (_func_int_varargs *)puVar2)" ( (binary_expression "p_Var11 == (_func_int_varargs *)puVar2" identifier == (cast_expression "(_func_int_varargs *)puVar2" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_000e2c90;" goto statement_identifier ;)) (labeled_statement "LAB_000e2d1c:\n    iVar4 = (*p_Var11)();" statement_identifier : (expression_statement "iVar4 = (*p_Var11)();" (assignment_expression "iVar4 = (*p_Var11)()" identifier = (call_expression "(*p_Var11)()" (parenthesized_expression "(*p_Var11)" ( (pointer_expression "*p_Var11" * identifier) )) (argument_list "()" ( )))) ;)) (expression_statement "oVar12 = CONCAT44(iVar4,in_v1);" (assignment_expression "oVar12 = CONCAT44(iVar4,in_v1)" identifier = (call_expression "CONCAT44(iVar4,in_v1)" identifier (argument_list "(iVar4,in_v1)" ( identifier , identifier )))) ;) }))) (while_statement "while( true );" while (parenthesized_expression "( true )" ( true )) (expression_statement ";" ;)) })))
(translation_unit "void __thiscall\ngold::Sized_dwarf_line_info<32,false>::read_relocs(Sized_dwarf_line_info<32,false> *this)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  Sized_dwarf_line_info<32,false> *pSVar4;\n  Sized_dwarf_line_info<32,false> *pSVar5;\n  int *piVar6;\n  undefined4 uVar7;\n  Sized_dwarf_line_info<32,false> *pSVar8;\n  Sized_dwarf_line_info<32,false> *pSVar9;\n  code *pcVar10;\n  longlong lVar11;\n  undefined4 *puVar12;\n  undefined8 local_38;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined8 *local_28 [2];\n  int local_20;\n  int local_1c;\n  \n  puVar2 = PTR_do_next_offset_00432cf8;\n  if (*(int *)(this + 0x5c) == 0) {\n    return;\n  }\n  pSVar9 = this + 0x84;\nLAB_000e2c7c:\n  piVar6 = *(int **)(this + 0x54);\n  pcVar10 = *(code **)(*piVar6 + 0xc);\n  if (pcVar10 != (code *)puVar2) goto LAB_000e2d1c;\nLAB_000e2c90:\n  lVar11 = (*(code *)PTR_next_offset_00432c18)(piVar6 + 7);\n  do {\n    if ((int)((ulonglong)lVar11 >> 0x20) == -1) {\n      if ((int)lVar11 == -1) {\n        return;\n      }\n    }\n    puVar12 = &local_30;\n    local_38 = lVar11;\n    iVar3 = (**(code **)(**(int **)(this + 0x54) + 0x14))(*(int **)(this + 0x54));\n    if (iVar3 == 0) {\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }\n    }\n    else {\n      pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);\n      pSVar8 = pSVar9;\n      if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }\n    (*(code *)PTR_advance_00432c14)(piVar6 + 7);\n    piVar6 = *(int **)(this + 0x54);\n    pcVar10 = *(code **)(*piVar6 + 0xc);\n    if (pcVar10 == (code *)puVar2) goto LAB_000e2c90;\nLAB_000e2d1c:\n    lVar11 = (*pcVar10)();\n  } while( true );\n}\n\n" (declaration "void __thiscall\ngold::Sized_dwarf_line_info<32,false>::read_relocs(Sized_dwarf_line_info<32,false> *this)\n\n{\n  bool bVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "false>::read_relocs(Sized_dwarf_line_info<32,false> *this)\n\n{\n  bool" identifier > : : (function_declarator "read_relocs(Sized_dwarf_line_info<32,false> *this)" identifier (parameter_list "(Sized_dwarf_line_info<32,false> *this)" ( (parameter_declaration "Sized_dwarf_line_info" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) ))) { primitive_type) identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (expression_statement "Sized_dwarf_line_info<32,false> *pSVar4;" (update_expression "Sized_dwarf_line_info<32,false> *pSVar4" (binary_expression "Sized_dwarf_line_info<32,false> *pSVar4" (binary_expression "Sized_dwarf_line_info<32" identifier < number_literal) (ERROR ",false" , false) > (pointer_expression "*pSVar4" * identifier)) --) ;) (expression_statement "Sized_dwarf_line_info<32,false> *pSVar5;" (update_expression "Sized_dwarf_line_info<32,false> *pSVar5" (binary_expression "Sized_dwarf_line_info<32,false> *pSVar5" (binary_expression "Sized_dwarf_line_info<32" identifier < number_literal) (ERROR ",false" , false) > (pointer_expression "*pSVar5" * identifier)) --) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (expression_statement "Sized_dwarf_line_info<32,false> *pSVar8;" (update_expression "Sized_dwarf_line_info<32,false> *pSVar8" (binary_expression "Sized_dwarf_line_info<32,false> *pSVar8" (binary_expression "Sized_dwarf_line_info<32" identifier < number_literal) (ERROR ",false" , false) > (pointer_expression "*pSVar8" * identifier)) --) ;) (expression_statement "Sized_dwarf_line_info<32,false> *pSVar9;" (update_expression "Sized_dwarf_line_info<32,false> *pSVar9" (binary_expression "Sized_dwarf_line_info<32,false> *pSVar9" (binary_expression "Sized_dwarf_line_info<32" identifier < number_literal) (ERROR ",false" , false) > (pointer_expression "*pSVar9" * identifier)) --) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "longlong lVar11;" type_identifier identifier ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined8 local_38;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined8 *local_28 [2];" type_identifier (pointer_declarator "*local_28 [2]" * (array_declarator "local_28 [2]" identifier [ number_literal ])) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "puVar2 = PTR_do_next_offset_00432cf8;" (assignment_expression "puVar2 = PTR_do_next_offset_00432cf8" identifier = identifier) ;) (if_statement "if (*(int *)(this + 0x5c) == 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(this + 0x5c) == 0)" ( (binary_expression "*(int *)(this + 0x5c) == 0" (pointer_expression "*(int *)(this + 0x5c)" * (cast_expression "(int *)(this + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x5c)" ( (binary_expression "this + 0x5c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pSVar9 = this + 0x84;" (assignment_expression "pSVar9 = this + 0x84" identifier = (binary_expression "this + 0x84" identifier + number_literal)) ;) (labeled_statement "LAB_000e2c7c:\n  piVar6 = *(int **)(this + 0x54);" statement_identifier : (expression_statement "piVar6 = *(int **)(this + 0x54);" (assignment_expression "piVar6 = *(int **)(this + 0x54)" identifier = (pointer_expression "*(int **)(this + 0x54)" * (cast_expression "(int **)(this + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x54)" ( (binary_expression "this + 0x54" identifier + number_literal) ))))) ;)) (expression_statement "pcVar10 = *(code **)(*piVar6 + 0xc);" (assignment_expression "pcVar10 = *(code **)(*piVar6 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar6 + 0xc)" * (cast_expression "(code **)(*piVar6 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar6 + 0xc)" ( (binary_expression "*piVar6 + 0xc" (pointer_expression "*piVar6" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar10 != (code *)puVar2) goto LAB_000e2d1c;" if (parenthesized_expression "(pcVar10 != (code *)puVar2)" ( (binary_expression "pcVar10 != (code *)puVar2" identifier != (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_000e2d1c;" goto statement_identifier ;)) (labeled_statement "LAB_000e2c90:\n  lVar11 = (*(code *)PTR_next_offset_00432c18)(piVar6 + 7);" statement_identifier : (expression_statement "lVar11 = (*(code *)PTR_next_offset_00432c18)(piVar6 + 7);" (assignment_expression "lVar11 = (*(code *)PTR_next_offset_00432c18)(piVar6 + 7)" identifier = (call_expression "(*(code *)PTR_next_offset_00432c18)(piVar6 + 7)" (parenthesized_expression "(*(code *)PTR_next_offset_00432c18)" ( (pointer_expression "*(code *)PTR_next_offset_00432c18" * (cast_expression "(code *)PTR_next_offset_00432c18" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar6 + 7)" ( (binary_expression "piVar6 + 7" identifier + number_literal) )))) ;)) (do_statement "do {\n    if ((int)((ulonglong)lVar11 >> 0x20) == -1) {\n      if ((int)lVar11 == -1) {\n        return;\n      }\n    }\n    puVar12 = &local_30;\n    local_38 = lVar11;\n    iVar3 = (**(code **)(**(int **)(this + 0x54) + 0x14))(*(int **)(this + 0x54));\n    if (iVar3 == 0) {\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }\n    }\n    else {\n      pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);\n      pSVar8 = pSVar9;\n      if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }\n    (*(code *)PTR_advance_00432c14)(piVar6 + 7);\n    piVar6 = *(int **)(this + 0x54);\n    pcVar10 = *(code **)(*piVar6 + 0xc);\n    if (pcVar10 == (code *)puVar2) goto LAB_000e2c90;\nLAB_000e2d1c:\n    lVar11 = (*pcVar10)();\n  } while( true );" do (compound_statement "{\n    if ((int)((ulonglong)lVar11 >> 0x20) == -1) {\n      if ((int)lVar11 == -1) {\n        return;\n      }\n    }\n    puVar12 = &local_30;\n    local_38 = lVar11;\n    iVar3 = (**(code **)(**(int **)(this + 0x54) + 0x14))(*(int **)(this + 0x54));\n    if (iVar3 == 0) {\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }\n    }\n    else {\n      pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);\n      pSVar8 = pSVar9;\n      if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }\n    (*(code *)PTR_advance_00432c14)(piVar6 + 7);\n    piVar6 = *(int **)(this + 0x54);\n    pcVar10 = *(code **)(*piVar6 + 0xc);\n    if (pcVar10 == (code *)puVar2) goto LAB_000e2c90;\nLAB_000e2d1c:\n    lVar11 = (*pcVar10)();\n  }" { (if_statement "if ((int)((ulonglong)lVar11 >> 0x20) == -1) {\n      if ((int)lVar11 == -1) {\n        return;\n      }\n    }" if (parenthesized_expression "((int)((ulonglong)lVar11 >> 0x20) == -1)" ( (binary_expression "(int)((ulonglong)lVar11 >> 0x20) == -1" (cast_expression "(int)((ulonglong)lVar11 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar11 >> 0x20)" ( (binary_expression "(ulonglong)lVar11 >> 0x20" (cast_expression "(ulonglong)lVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n      if ((int)lVar11 == -1) {\n        return;\n      }\n    }" { (if_statement "if ((int)lVar11 == -1) {\n        return;\n      }" if (parenthesized_expression "((int)lVar11 == -1)" ( (binary_expression "(int)lVar11 == -1" (cast_expression "(int)lVar11" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) })) (expression_statement "puVar12 = &local_30;" (assignment_expression "puVar12 = &local_30" identifier = (pointer_expression "&local_30" & identifier)) ;) (expression_statement "local_38 = lVar11;" (assignment_expression "local_38 = lVar11" identifier = identifier) ;) (expression_statement "iVar3 = (**(code **)(**(int **)(this + 0x54) + 0x14))(*(int **)(this + 0x54));" (assignment_expression "iVar3 = (**(code **)(**(int **)(this + 0x54) + 0x14))(*(int **)(this + 0x54))" identifier = (call_expression "(**(code **)(**(int **)(this + 0x54) + 0x14))(*(int **)(this + 0x54))" (parenthesized_expression "(**(code **)(**(int **)(this + 0x54) + 0x14))" ( (pointer_expression "**(code **)(**(int **)(this + 0x54) + 0x14)" * (pointer_expression "*(code **)(**(int **)(this + 0x54) + 0x14)" * (cast_expression "(code **)(**(int **)(this + 0x54) + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(this + 0x54) + 0x14)" ( (binary_expression "**(int **)(this + 0x54) + 0x14" (pointer_expression "**(int **)(this + 0x54)" * (pointer_expression "*(int **)(this + 0x54)" * (cast_expression "(int **)(this + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x54)" ( (binary_expression "this + 0x54" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(this + 0x54))" ( (pointer_expression "*(int **)(this + 0x54)" * (cast_expression "(int **)(this + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x54)" ( (binary_expression "this + 0x54" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar3 == 0) {\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }\n    }\n    else {\n      pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);\n      pSVar8 = pSVar9;\n      if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }\n    }" { (expression_statement "piVar6 = *(int **)(this + 0x54);" (assignment_expression "piVar6 = *(int **)(this + 0x54)" identifier = (pointer_expression "*(int **)(this + 0x54)" * (cast_expression "(int **)(this + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x54)" ( (binary_expression "this + 0x54" identifier + number_literal) ))))) ;) (expression_statement "bVar1 = (uint)(local_38 + 1) < local_38._4_4_;" (assignment_expression "bVar1 = (uint)(local_38 + 1) < local_38._4_4_" identifier = (binary_expression "(uint)(local_38 + 1) < local_38._4_4_" (call_expression "(uint)(local_38 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_38 + 1)" ( (binary_expression "local_38 + 1" identifier + number_literal) ))) < (field_expression "local_38._4_4_" identifier . field_identifier))) ;) (expression_statement "pcVar10 = *(code **)(*piVar6 + 0x10);" (assignment_expression "pcVar10 = *(code **)(*piVar6 + 0x10)" identifier = (pointer_expression "*(code **)(*piVar6 + 0x10)" * (cast_expression "(code **)(*piVar6 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar6 + 0x10)" ( (binary_expression "*piVar6 + 0x10" (pointer_expression "*piVar6" * identifier) + number_literal) ))))) ;) (expression_statement "uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);" (assignment_expression "uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)(local_38 + 1) >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)(local_38 + 1) >> 0x20)" ( (binary_expression "(ulonglong)(local_38 + 1) >> 0x20" (call_expression "(ulonglong)(local_38 + 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(local_38 + 1)" ( (binary_expression "local_38 + 1" identifier + number_literal) ))) >> number_literal) )))) ;) (if_statement "if (pcVar10 != (code *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }" if (parenthesized_expression "(pcVar10 != (code *)PTR_do_advance_00432cfc)" ( (binary_expression "pcVar10 != (code *)PTR_do_advance_00432cfc" identifier != (cast_expression "(code *)PTR_do_advance_00432cfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }" { (labeled_statement "LAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);" statement_identifier : (expression_statement "(*pcVar10)(piVar6,bVar1,uVar7);" (call_expression "(*pcVar10)(piVar6,bVar1,uVar7)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(piVar6,bVar1,uVar7)" ( identifier , identifier , identifier ))) ;)) (goto_statement "goto LAB_000e2c7c;" goto statement_identifier ;) })) }) (else_clause "else {\n      pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);\n      pSVar8 = pSVar9;\n      if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }" else (compound_statement "{\n      pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);\n      pSVar8 = pSVar9;\n      if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }" { (expression_statement "pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);" (assignment_expression "pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88)" identifier = (pointer_expression "*(Sized_dwarf_line_info<32,false> **)(this + 0x88)" * (call_expression "(Sized_dwarf_line_info<32,false> **)(this + 0x88)" (parenthesized_expression "(Sized_dwarf_line_info<32,false> **)" ( (comma_expression "Sized_dwarf_line_info<32,false> **" (binary_expression "Sized_dwarf_line_info<32" identifier < number_literal) , (binary_expression "false> **" false > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(this + 0x88)" ( (binary_expression "this + 0x88" identifier + number_literal) ))))) ;) (expression_statement "pSVar8 = pSVar9;" (assignment_expression "pSVar8 = pSVar9" identifier = identifier) ;) (if_statement "if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }" if (parenthesized_expression "(pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0)" ( (binary_expression "pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0)" identifier == (parenthesized_expression "(Sized_dwarf_line_info<32,false> *)0x0)" ( (comma_expression "Sized_dwarf_line_info<32,false> *)0x0" (binary_expression "Sized_dwarf_line_info<32" identifier < number_literal) , (binary_expression "false> *)0x0" false > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }" { (labeled_statement "LAB_000e2e14:\n        local_28[0] = &local_38;" statement_identifier : (expression_statement "local_28[0] = &local_38;" (assignment_expression "local_28[0] = &local_38" (subscript_expression "local_28[0]" identifier [ number_literal ]) = (pointer_expression "&local_38" & identifier)) ;)) (expression_statement "local_1c = iVar3;" (assignment_expression "local_1c = iVar3" identifier = identifier) ;) (expression_statement "FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);" (call_expression "FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12)" identifier (argument_list "(&local_20,this + 0x80,pSVar8,local_28,puVar12)" ( (pointer_expression "&local_20" & identifier) , (binary_expression "this + 0x80" identifier + number_literal) , identifier , identifier , identifier ))) ;) (expression_statement "*(int *)(local_20 + 0x18) = local_1c;" (assignment_expression "*(int *)(local_20 + 0x18) = local_1c" (pointer_expression "*(int *)(local_20 + 0x18)" * (cast_expression "(int *)(local_20 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_20 + 0x18)" ( (binary_expression "local_20 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(local_20 + 0x24) = local_2c;" (assignment_expression "*(undefined4 *)(local_20 + 0x24) = local_2c" (pointer_expression "*(undefined4 *)(local_20 + 0x24)" * (cast_expression "(undefined4 *)(local_20 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_20 + 0x24)" ( (binary_expression "local_20 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(local_20 + 0x20) = local_30;" (assignment_expression "*(undefined4 *)(local_20 + 0x20) = local_30" (pointer_expression "*(undefined4 *)(local_20 + 0x20)" * (cast_expression "(undefined4 *)(local_20 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_20 + 0x20)" ( (binary_expression "local_20 + 0x20" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }" else (compound_statement "{\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }" { (do_statement "do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);" do (compound_statement "{\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        }" { (if_statement "if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }" if (parenthesized_expression "((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_))))" ( (binary_expression "(*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))" (parenthesized_expression "(*(int *)(pSVar4 + 0x10) < local_38._0_4_)" ( (binary_expression "*(int *)(pSVar4 + 0x10) < local_38._0_4_" (pointer_expression "*(int *)(pSVar4 + 0x10)" * (cast_expression "(int *)(pSVar4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar4 + 0x10)" ( (binary_expression "pSVar4 + 0x10" identifier + number_literal) )))) < (field_expression "local_38._0_4_" identifier . field_identifier)) )) || (parenthesized_expression "((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))" ( (parenthesized_expression "(*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_))" ( (binary_expression "*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)" (binary_expression "*(int *)(pSVar4 + 0x10) == local_38._0_4_" (pointer_expression "*(int *)(pSVar4 + 0x10)" * (cast_expression "(int *)(pSVar4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar4 + 0x10)" ( (binary_expression "pSVar4 + 0x10" identifier + number_literal) )))) == (field_expression "local_38._0_4_" identifier . field_identifier)) && (parenthesized_expression "(*(uint *)(pSVar4 + 0x14) < local_38._4_4_)" ( (binary_expression "*(uint *)(pSVar4 + 0x14) < local_38._4_4_" (pointer_expression "*(uint *)(pSVar4 + 0x14)" * (cast_expression "(uint *)(pSVar4 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar4 + 0x14)" ( (binary_expression "pSVar4 + 0x14" identifier + number_literal) )))) < (field_expression "local_38._4_4_" identifier . field_identifier)) ))) )) ))) )) (compound_statement "{\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }" { (expression_statement "pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);" (assignment_expression "pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc)" identifier = (pointer_expression "*(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc)" * (call_expression "(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc)" (parenthesized_expression "(Sized_dwarf_line_info<32,false> **)" ( (comma_expression "Sized_dwarf_line_info<32,false> **" (binary_expression "Sized_dwarf_line_info<32" identifier < number_literal) , (binary_expression "false> **" false > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(pSVar4 + 0xc)" ( (binary_expression "pSVar4 + 0xc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }" else (compound_statement "{\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }" { (expression_statement "pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);" (assignment_expression "pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8)" identifier = (pointer_expression "*(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8)" * (call_expression "(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8)" (parenthesized_expression "(Sized_dwarf_line_info<32,false> **)" ( (comma_expression "Sized_dwarf_line_info<32,false> **" (binary_expression "Sized_dwarf_line_info<32" identifier < number_literal) , (binary_expression "false> **" false > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(pSVar4 + 8)" ( (binary_expression "pSVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "pSVar8 = pSVar4;" (assignment_expression "pSVar8 = pSVar4" identifier = identifier) ;) }))) (expression_statement "pSVar4 = pSVar5;" (assignment_expression "pSVar4 = pSVar5" identifier = identifier) ;) }) while (parenthesized_expression "(pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0)" ( (binary_expression "pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0)" identifier != (parenthesized_expression "(Sized_dwarf_line_info<32,false> *)0x0)" ( (comma_expression "Sized_dwarf_line_info<32,false> *)0x0" (binary_expression "Sized_dwarf_line_info<32" identifier < number_literal) , (binary_expression "false> *)0x0" false > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) ;) (if_statement "if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;" if (parenthesized_expression "((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10)))" ( (binary_expression "(pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))" (parenthesized_expression "(pSVar9 == pSVar8)" ( (binary_expression "pSVar9 == pSVar8" identifier == identifier) )) || (parenthesized_expression "(local_38._0_4_ < *(int *)(pSVar8 + 0x10))" ( (binary_expression "local_38._0_4_ < *(int *)(pSVar8 + 0x10)" (field_expression "local_38._0_4_" identifier . field_identifier) < (pointer_expression "*(int *)(pSVar8 + 0x10)" * (cast_expression "(int *)(pSVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar8 + 0x10)" ( (binary_expression "pSVar8 + 0x10" identifier + number_literal) ))))) ))) )) (goto_statement "goto LAB_000e2e14;" goto statement_identifier ;)) (if_statement "if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }" if (parenthesized_expression "(*(int *)(pSVar8 + 0x10) == local_38._0_4_)" ( (binary_expression "*(int *)(pSVar8 + 0x10) == local_38._0_4_" (pointer_expression "*(int *)(pSVar8 + 0x10)" * (cast_expression "(int *)(pSVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar8 + 0x10)" ( (binary_expression "pSVar8 + 0x10" identifier + number_literal) )))) == (field_expression "local_38._0_4_" identifier . field_identifier)) )) (compound_statement "{\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }" { (if_statement "if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;" if (parenthesized_expression "(local_38._4_4_ < *(uint *)(pSVar8 + 0x14))" ( (binary_expression "local_38._4_4_ < *(uint *)(pSVar8 + 0x14)" (field_expression "local_38._4_4_" identifier . field_identifier) < (pointer_expression "*(uint *)(pSVar8 + 0x14)" * (cast_expression "(uint *)(pSVar8 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar8 + 0x14)" ( (binary_expression "pSVar8 + 0x14" identifier + number_literal) ))))) )) (goto_statement "goto LAB_000e2e14;" goto statement_identifier ;)) (expression_statement "*(int *)(pSVar8 + 0x18) = iVar3;" (assignment_expression "*(int *)(pSVar8 + 0x18) = iVar3" (pointer_expression "*(int *)(pSVar8 + 0x18)" * (cast_expression "(int *)(pSVar8 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar8 + 0x18)" ( (binary_expression "pSVar8 + 0x18" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }" else (compound_statement "{\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }" { (expression_statement "*(int *)(pSVar8 + 0x18) = iVar3;" (assignment_expression "*(int *)(pSVar8 + 0x18) = iVar3" (pointer_expression "*(int *)(pSVar8 + 0x18)" * (cast_expression "(int *)(pSVar8 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar8 + 0x18)" ( (binary_expression "pSVar8 + 0x18" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "*(undefined4 *)(pSVar8 + 0x24) = local_2c;" (assignment_expression "*(undefined4 *)(pSVar8 + 0x24) = local_2c" (pointer_expression "*(undefined4 *)(pSVar8 + 0x24)" * (cast_expression "(undefined4 *)(pSVar8 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar8 + 0x24)" ( (binary_expression "pSVar8 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pSVar8 + 0x20) = local_30;" (assignment_expression "*(undefined4 *)(pSVar8 + 0x20) = local_30" (pointer_expression "*(undefined4 *)(pSVar8 + 0x20)" * (cast_expression "(undefined4 *)(pSVar8 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar8 + 0x20)" ( (binary_expression "pSVar8 + 0x20" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "piVar6 = *(int **)(this + 0x54);" (assignment_expression "piVar6 = *(int **)(this + 0x54)" identifier = (pointer_expression "*(int **)(this + 0x54)" * (cast_expression "(int **)(this + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x54)" ( (binary_expression "this + 0x54" identifier + number_literal) ))))) ;) (expression_statement "bVar1 = (uint)(local_38 + 1) < local_38._4_4_;" (assignment_expression "bVar1 = (uint)(local_38 + 1) < local_38._4_4_" identifier = (binary_expression "(uint)(local_38 + 1) < local_38._4_4_" (call_expression "(uint)(local_38 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_38 + 1)" ( (binary_expression "local_38 + 1" identifier + number_literal) ))) < (field_expression "local_38._4_4_" identifier . field_identifier))) ;) (expression_statement "pcVar10 = *(code **)(*piVar6 + 0x10);" (assignment_expression "pcVar10 = *(code **)(*piVar6 + 0x10)" identifier = (pointer_expression "*(code **)(*piVar6 + 0x10)" * (cast_expression "(code **)(*piVar6 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar6 + 0x10)" ( (binary_expression "*piVar6 + 0x10" (pointer_expression "*piVar6" * identifier) + number_literal) ))))) ;) (expression_statement "uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);" (assignment_expression "uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)(local_38 + 1) >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)(local_38 + 1) >> 0x20)" ( (binary_expression "(ulonglong)(local_38 + 1) >> 0x20" (call_expression "(ulonglong)(local_38 + 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(local_38 + 1)" ( (binary_expression "local_38 + 1" identifier + number_literal) ))) >> number_literal) )))) ;) (if_statement "if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;" if (parenthesized_expression "(pcVar10 != (code *)PTR_do_advance_00432cfc)" ( (binary_expression "pcVar10 != (code *)PTR_do_advance_00432cfc" identifier != (cast_expression "(code *)PTR_do_advance_00432cfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_000e2df8;" goto statement_identifier ;)) }))) (expression_statement "(*(code *)PTR_advance_00432c14)(piVar6 + 7);" (call_expression "(*(code *)PTR_advance_00432c14)(piVar6 + 7)" (parenthesized_expression "(*(code *)PTR_advance_00432c14)" ( (pointer_expression "*(code *)PTR_advance_00432c14" * (cast_expression "(code *)PTR_advance_00432c14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar6 + 7)" ( (binary_expression "piVar6 + 7" identifier + number_literal) ))) ;) (expression_statement "piVar6 = *(int **)(this + 0x54);" (assignment_expression "piVar6 = *(int **)(this + 0x54)" identifier = (pointer_expression "*(int **)(this + 0x54)" * (cast_expression "(int **)(this + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x54)" ( (binary_expression "this + 0x54" identifier + number_literal) ))))) ;) (expression_statement "pcVar10 = *(code **)(*piVar6 + 0xc);" (assignment_expression "pcVar10 = *(code **)(*piVar6 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar6 + 0xc)" * (cast_expression "(code **)(*piVar6 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar6 + 0xc)" ( (binary_expression "*piVar6 + 0xc" (pointer_expression "*piVar6" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar10 == (code *)puVar2) goto LAB_000e2c90;" if (parenthesized_expression "(pcVar10 == (code *)puVar2)" ( (binary_expression "pcVar10 == (code *)puVar2" identifier == (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_000e2c90;" goto statement_identifier ;)) (labeled_statement "LAB_000e2d1c:\n    lVar11 = (*pcVar10)();" statement_identifier : (expression_statement "lVar11 = (*pcVar10)();" (assignment_expression "lVar11 = (*pcVar10)()" identifier = (call_expression "(*pcVar10)()" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "()" ( )))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) (ERROR "}" }))
(translation_unit (declaration TYPE (ms_call_modifier __thiscall) (ERROR IDENT : :) IDENT (ERROR < LIT) , (ERROR IDENT > : : (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) (ERROR < LIT) , (parameter_declaration TYPE (ERROR >) (pointer_declarator * IDENT)) ))) { TYPE) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (update_expression (binary_expression (binary_expression IDENT < LIT) (ERROR , BOOL) > (pointer_expression * IDENT)) --) ;) (expression_statement (update_expression (binary_expression (binary_expression IDENT < LIT) (ERROR , BOOL) > (pointer_expression * IDENT)) --) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (update_expression (binary_expression (binary_expression IDENT < LIT) (ERROR , BOOL) > (pointer_expression * IDENT)) --) ;) (expression_statement (update_expression (binary_expression (binary_expression IDENT < LIT) (ERROR , BOOL) > (pointer_expression * IDENT)) --) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;)) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT) )) (compound_statement { (return_statement return ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (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) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 + LIT) ))) < (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT ))) ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (call_expression (parenthesized_expression ( (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (pointer_expression * (pointer_expression * IDENT)))) )) (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (parenthesized_expression ( (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (pointer_expression * (ERROR )) LIT))) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (field_expression IDENT . field_identifier)) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (field_expression IDENT . field_identifier)) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (field_expression IDENT . field_identifier)) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (call_expression (parenthesized_expression ( (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (pointer_expression * (pointer_expression * IDENT)))) )) (argument_list ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (call_expression (parenthesized_expression ( (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (pointer_expression * (pointer_expression * IDENT)))) )) (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (parenthesized_expression ( (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (pointer_expression * (ERROR )) LIT))) ))) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (field_expression IDENT . field_identifier)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 + LIT) ))) < (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;)) }) while (parenthesized_expression ( BOOL )) ;) (ERROR }))
(declaration "void __thiscall\ngold::Sized_dwarf_line_info<32,false>::read_relocs(Sized_dwarf_line_info<32,false> *this)\n\n{\n  bool bVar1;" (primitive_type "void") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::" (identifier "gold") (: ":") (: ":")) (identifier "Sized_dwarf_line_info") (ERROR "<32" (< "<") (number_literal "32")) (, ",") (ERROR "false>::read_relocs(Sized_dwarf_line_info<32,false> *this)\n\n{\n  bool" (identifier "false") (> ">") (: ":") (: ":") (function_declarator "read_relocs(Sized_dwarf_line_info<32,false> *this)" (identifier "read_relocs") (parameter_list "(Sized_dwarf_line_info<32,false> *this)" (( "(") (parameter_declaration "Sized_dwarf_line_info" (type_identifier "Sized_dwarf_line_info")) (ERROR "<32" (< "<") (number_literal "32")) (, ",") (parameter_declaration "false> *this" (type_identifier "false") (ERROR ">" (> ">")) (pointer_declarator "*this" (* "*") (identifier "this"))) () ")"))) ({ "{") (primitive_type "bool")) (identifier "bVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (expression_statement "Sized_dwarf_line_info<32,false> *pSVar4;" (update_expression "Sized_dwarf_line_info<32,false> *pSVar4" (binary_expression "Sized_dwarf_line_info<32,false> *pSVar4" (binary_expression "Sized_dwarf_line_info<32" (identifier "Sized_dwarf_line_info") (< "<") (number_literal "32")) (ERROR ",false" (, ",") (false "false")) (> ">") (pointer_expression "*pSVar4" (* "*") (identifier "pSVar4"))) (-- "")) (; ";")) (expression_statement "Sized_dwarf_line_info<32,false> *pSVar5;" (update_expression "Sized_dwarf_line_info<32,false> *pSVar5" (binary_expression "Sized_dwarf_line_info<32,false> *pSVar5" (binary_expression "Sized_dwarf_line_info<32" (identifier "Sized_dwarf_line_info") (< "<") (number_literal "32")) (ERROR ",false" (, ",") (false "false")) (> ">") (pointer_expression "*pSVar5" (* "*") (identifier "pSVar5"))) (-- "")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (expression_statement "Sized_dwarf_line_info<32,false> *pSVar8;" (update_expression "Sized_dwarf_line_info<32,false> *pSVar8" (binary_expression "Sized_dwarf_line_info<32,false> *pSVar8" (binary_expression "Sized_dwarf_line_info<32" (identifier "Sized_dwarf_line_info") (< "<") (number_literal "32")) (ERROR ",false" (, ",") (false "false")) (> ">") (pointer_expression "*pSVar8" (* "*") (identifier "pSVar8"))) (-- "")) (; ";")) (expression_statement "Sized_dwarf_line_info<32,false> *pSVar9;" (update_expression "Sized_dwarf_line_info<32,false> *pSVar9" (binary_expression "Sized_dwarf_line_info<32,false> *pSVar9" (binary_expression "Sized_dwarf_line_info<32" (identifier "Sized_dwarf_line_info") (< "<") (number_literal "32")) (ERROR ",false" (, ",") (false "false")) (> ">") (pointer_expression "*pSVar9" (* "*") (identifier "pSVar9"))) (-- "")) (; ";")) (declaration "code *pcVar10;" (type_identifier "code") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "longlong lVar11;" (type_identifier "longlong") (identifier "lVar11") (; ";")) (declaration "undefined4 *puVar12;" (type_identifier "undefined4") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "undefined8 local_38;" (type_identifier "undefined8") (identifier "local_38") (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (declaration "undefined8 *local_28 [2];" (type_identifier "undefined8") (pointer_declarator "*local_28 [2]" (* "*") (array_declarator "local_28 [2]" (identifier "local_28") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "int local_1c;" (primitive_type "int") (identifier "local_1c") (; ";")) (expression_statement "puVar2 = PTR_do_next_offset_00432cf8;" (assignment_expression "puVar2 = PTR_do_next_offset_00432cf8" (identifier "puVar2") (= "=") (identifier "PTR_do_next_offset_00432cf8")) (; ";")) (if_statement "if (*(int *)(this + 0x5c) == 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(*(int *)(this + 0x5c) == 0)" (( "(") (binary_expression "*(int *)(this + 0x5c) == 0" (pointer_expression "*(int *)(this + 0x5c)" (* "*") (cast_expression "(int *)(this + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x5c)" (( "(") (binary_expression "this + 0x5c" (identifier "this") (+ "+") (number_literal "0x5c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pSVar9 = this + 0x84;" (assignment_expression "pSVar9 = this + 0x84" (identifier "pSVar9") (= "=") (binary_expression "this + 0x84" (identifier "this") (+ "+") (number_literal "0x84"))) (; ";")) (labeled_statement "LAB_000e2c7c:\n  piVar6 = *(int **)(this + 0x54);" (statement_identifier "LAB_000e2c7c") (: ":") (expression_statement "piVar6 = *(int **)(this + 0x54);" (assignment_expression "piVar6 = *(int **)(this + 0x54)" (identifier "piVar6") (= "=") (pointer_expression "*(int **)(this + 0x54)" (* "*") (cast_expression "(int **)(this + 0x54)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x54)" (( "(") (binary_expression "this + 0x54" (identifier "this") (+ "+") (number_literal "0x54")) () ")"))))) (; ";"))) (expression_statement "pcVar10 = *(code **)(*piVar6 + 0xc);" (assignment_expression "pcVar10 = *(code **)(*piVar6 + 0xc)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(*piVar6 + 0xc)" (* "*") (cast_expression "(code **)(*piVar6 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar6 + 0xc)" (( "(") (binary_expression "*piVar6 + 0xc" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (pcVar10 != (code *)puVar2) goto LAB_000e2d1c;" (if "if") (parenthesized_expression "(pcVar10 != (code *)puVar2)" (( "(") (binary_expression "pcVar10 != (code *)puVar2" (identifier "pcVar10") (!= "!=") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (goto_statement "goto LAB_000e2d1c;" (goto "goto") (statement_identifier "LAB_000e2d1c") (; ";"))) (labeled_statement "LAB_000e2c90:\n  lVar11 = (*(code *)PTR_next_offset_00432c18)(piVar6 + 7);" (statement_identifier "LAB_000e2c90") (: ":") (expression_statement "lVar11 = (*(code *)PTR_next_offset_00432c18)(piVar6 + 7);" (assignment_expression "lVar11 = (*(code *)PTR_next_offset_00432c18)(piVar6 + 7)" (identifier "lVar11") (= "=") (call_expression "(*(code *)PTR_next_offset_00432c18)(piVar6 + 7)" (parenthesized_expression "(*(code *)PTR_next_offset_00432c18)" (( "(") (pointer_expression "*(code *)PTR_next_offset_00432c18" (* "*") (cast_expression "(code *)PTR_next_offset_00432c18" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_next_offset_00432c18"))) () ")")) (argument_list "(piVar6 + 7)" (( "(") (binary_expression "piVar6 + 7" (identifier "piVar6") (+ "+") (number_literal "7")) () ")")))) (; ";"))) (do_statement "do {\n    if ((int)((ulonglong)lVar11 >> 0x20) == -1) {\n      if ((int)lVar11 == -1) {\n        return;\n      }\n    }\n    puVar12 = &local_30;\n    local_38 = lVar11;\n    iVar3 = (**(code **)(**(int **)(this + 0x54) + 0x14))(*(int **)(this + 0x54));\n    if (iVar3 == 0) {\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }\n    }\n    else {\n      pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);\n      pSVar8 = pSVar9;\n      if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }\n    (*(code *)PTR_advance_00432c14)(piVar6 + 7);\n    piVar6 = *(int **)(this + 0x54);\n    pcVar10 = *(code **)(*piVar6 + 0xc);\n    if (pcVar10 == (code *)puVar2) goto LAB_000e2c90;\nLAB_000e2d1c:\n    lVar11 = (*pcVar10)();\n  } while( true );" (do "do") (compound_statement "{\n    if ((int)((ulonglong)lVar11 >> 0x20) == -1) {\n      if ((int)lVar11 == -1) {\n        return;\n      }\n    }\n    puVar12 = &local_30;\n    local_38 = lVar11;\n    iVar3 = (**(code **)(**(int **)(this + 0x54) + 0x14))(*(int **)(this + 0x54));\n    if (iVar3 == 0) {\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }\n    }\n    else {\n      pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);\n      pSVar8 = pSVar9;\n      if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }\n    (*(code *)PTR_advance_00432c14)(piVar6 + 7);\n    piVar6 = *(int **)(this + 0x54);\n    pcVar10 = *(code **)(*piVar6 + 0xc);\n    if (pcVar10 == (code *)puVar2) goto LAB_000e2c90;\nLAB_000e2d1c:\n    lVar11 = (*pcVar10)();\n  }" ({ "{") (if_statement "if ((int)((ulonglong)lVar11 >> 0x20) == -1) {\n      if ((int)lVar11 == -1) {\n        return;\n      }\n    }" (if "if") (parenthesized_expression "((int)((ulonglong)lVar11 >> 0x20) == -1)" (( "(") (binary_expression "(int)((ulonglong)lVar11 >> 0x20) == -1" (cast_expression "(int)((ulonglong)lVar11 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar11 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar11 >> 0x20" (cast_expression "(ulonglong)lVar11" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar11")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n      if ((int)lVar11 == -1) {\n        return;\n      }\n    }" ({ "{") (if_statement "if ((int)lVar11 == -1) {\n        return;\n      }" (if "if") (parenthesized_expression "((int)lVar11 == -1)" (( "(") (binary_expression "(int)lVar11 == -1" (cast_expression "(int)lVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar11")) (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar12 = &local_30;" (assignment_expression "puVar12 = &local_30" (identifier "puVar12") (= "=") (pointer_expression "&local_30" (& "&") (identifier "local_30"))) (; ";")) (expression_statement "local_38 = lVar11;" (assignment_expression "local_38 = lVar11" (identifier "local_38") (= "=") (identifier "lVar11")) (; ";")) (expression_statement "iVar3 = (**(code **)(**(int **)(this + 0x54) + 0x14))(*(int **)(this + 0x54));" (assignment_expression "iVar3 = (**(code **)(**(int **)(this + 0x54) + 0x14))(*(int **)(this + 0x54))" (identifier "iVar3") (= "=") (call_expression "(**(code **)(**(int **)(this + 0x54) + 0x14))(*(int **)(this + 0x54))" (parenthesized_expression "(**(code **)(**(int **)(this + 0x54) + 0x14))" (( "(") (pointer_expression "**(code **)(**(int **)(this + 0x54) + 0x14)" (* "*") (pointer_expression "*(code **)(**(int **)(this + 0x54) + 0x14)" (* "*") (cast_expression "(code **)(**(int **)(this + 0x54) + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(this + 0x54) + 0x14)" (( "(") (binary_expression "**(int **)(this + 0x54) + 0x14" (pointer_expression "**(int **)(this + 0x54)" (* "*") (pointer_expression "*(int **)(this + 0x54)" (* "*") (cast_expression "(int **)(this + 0x54)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x54)" (( "(") (binary_expression "this + 0x54" (identifier "this") (+ "+") (number_literal "0x54")) () ")"))))) (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (argument_list "(*(int **)(this + 0x54))" (( "(") (pointer_expression "*(int **)(this + 0x54)" (* "*") (cast_expression "(int **)(this + 0x54)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x54)" (( "(") (binary_expression "this + 0x54" (identifier "this") (+ "+") (number_literal "0x54")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }\n    }\n    else {\n      pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);\n      pSVar8 = pSVar9;\n      if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }\n    }" ({ "{") (expression_statement "piVar6 = *(int **)(this + 0x54);" (assignment_expression "piVar6 = *(int **)(this + 0x54)" (identifier "piVar6") (= "=") (pointer_expression "*(int **)(this + 0x54)" (* "*") (cast_expression "(int **)(this + 0x54)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x54)" (( "(") (binary_expression "this + 0x54" (identifier "this") (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (expression_statement "bVar1 = (uint)(local_38 + 1) < local_38._4_4_;" (assignment_expression "bVar1 = (uint)(local_38 + 1) < local_38._4_4_" (identifier "bVar1") (= "=") (binary_expression "(uint)(local_38 + 1) < local_38._4_4_" (call_expression "(uint)(local_38 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_38 + 1)" (( "(") (binary_expression "local_38 + 1" (identifier "local_38") (+ "+") (number_literal "1")) () ")"))) (< "<") (field_expression "local_38._4_4_" (identifier "local_38") (. ".") (field_identifier "_4_4_")))) (; ";")) (expression_statement "pcVar10 = *(code **)(*piVar6 + 0x10);" (assignment_expression "pcVar10 = *(code **)(*piVar6 + 0x10)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(*piVar6 + 0x10)" (* "*") (cast_expression "(code **)(*piVar6 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar6 + 0x10)" (( "(") (binary_expression "*piVar6 + 0x10" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);" (assignment_expression "uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20)" (identifier "uVar7") (= "=") (call_expression "(undefined4)((ulonglong)(local_38 + 1) >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)(local_38 + 1) >> 0x20)" (( "(") (binary_expression "(ulonglong)(local_38 + 1) >> 0x20" (call_expression "(ulonglong)(local_38 + 1)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(local_38 + 1)" (( "(") (binary_expression "local_38 + 1" (identifier "local_38") (+ "+") (number_literal "1")) () ")"))) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if (pcVar10 != (code *)PTR_do_advance_00432cfc) {\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }" (if "if") (parenthesized_expression "(pcVar10 != (code *)PTR_do_advance_00432cfc)" (( "(") (binary_expression "pcVar10 != (code *)PTR_do_advance_00432cfc" (identifier "pcVar10") (!= "!=") (cast_expression "(code *)PTR_do_advance_00432cfc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_advance_00432cfc"))) () ")")) (compound_statement "{\nLAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);\n        goto LAB_000e2c7c;\n      }" ({ "{") (labeled_statement "LAB_000e2df8:\n        (*pcVar10)(piVar6,bVar1,uVar7);" (statement_identifier "LAB_000e2df8") (: ":") (expression_statement "(*pcVar10)(piVar6,bVar1,uVar7);" (call_expression "(*pcVar10)(piVar6,bVar1,uVar7)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(piVar6,bVar1,uVar7)" (( "(") (identifier "piVar6") (, ",") (identifier "bVar1") (, ",") (identifier "uVar7") () ")"))) (; ";"))) (goto_statement "goto LAB_000e2c7c;" (goto "goto") (statement_identifier "LAB_000e2c7c") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);\n      pSVar8 = pSVar9;\n      if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }" (else "else") (compound_statement "{\n      pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);\n      pSVar8 = pSVar9;\n      if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }\n      piVar6 = *(int **)(this + 0x54);\n      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;\n      pcVar10 = *(code **)(*piVar6 + 0x10);\n      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);\n      if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;\n    }" ({ "{") (expression_statement "pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);" (assignment_expression "pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88)" (identifier "pSVar4") (= "=") (pointer_expression "*(Sized_dwarf_line_info<32,false> **)(this + 0x88)" (* "*") (call_expression "(Sized_dwarf_line_info<32,false> **)(this + 0x88)" (parenthesized_expression "(Sized_dwarf_line_info<32,false> **)" (( "(") (comma_expression "Sized_dwarf_line_info<32,false> **" (binary_expression "Sized_dwarf_line_info<32" (identifier "Sized_dwarf_line_info") (< "<") (number_literal "32")) (, ",") (binary_expression "false> **" (false "false") (> ">") (pointer_expression "**" (* "*") (pointer_expression "*" (* "*") (identifier ""))))) () ")")) (argument_list "(this + 0x88)" (( "(") (binary_expression "this + 0x88" (identifier "this") (+ "+") (number_literal "0x88")) () ")"))))) (; ";")) (expression_statement "pSVar8 = pSVar9;" (assignment_expression "pSVar8 = pSVar9" (identifier "pSVar8") (= "=") (identifier "pSVar9")) (; ";")) (if_statement "if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }\n      else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }" (if "if") (parenthesized_expression "(pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0)" (( "(") (binary_expression "pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0)" (identifier "pSVar4") (== "==") (parenthesized_expression "(Sized_dwarf_line_info<32,false> *)0x0)" (( "(") (comma_expression "Sized_dwarf_line_info<32,false> *)0x0" (binary_expression "Sized_dwarf_line_info<32" (identifier "Sized_dwarf_line_info") (< "<") (number_literal "32")) (, ",") (binary_expression "false> *)0x0" (false "false") (> ">") (pointer_expression "*)0x0" (* "*") (ERROR ")" () ")")) (number_literal "0x0")))) () ")"))) () "")) (compound_statement "{\nLAB_000e2e14:\n        local_28[0] = &local_38;\n        local_1c = iVar3;\n        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);\n        *(int *)(local_20 + 0x18) = local_1c;\n        *(undefined4 *)(local_20 + 0x24) = local_2c;\n        *(undefined4 *)(local_20 + 0x20) = local_30;\n      }" ({ "{") (labeled_statement "LAB_000e2e14:\n        local_28[0] = &local_38;" (statement_identifier "LAB_000e2e14") (: ":") (expression_statement "local_28[0] = &local_38;" (assignment_expression "local_28[0] = &local_38" (subscript_expression "local_28[0]" (identifier "local_28") ([ "[") (number_literal "0") (] "]")) (= "=") (pointer_expression "&local_38" (& "&") (identifier "local_38"))) (; ";"))) (expression_statement "local_1c = iVar3;" (assignment_expression "local_1c = iVar3" (identifier "local_1c") (= "=") (identifier "iVar3")) (; ";")) (expression_statement "FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);" (call_expression "FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12)" (identifier "FUN_000d6c14") (argument_list "(&local_20,this + 0x80,pSVar8,local_28,puVar12)" (( "(") (pointer_expression "&local_20" (& "&") (identifier "local_20")) (, ",") (binary_expression "this + 0x80" (identifier "this") (+ "+") (number_literal "0x80")) (, ",") (identifier "pSVar8") (, ",") (identifier "local_28") (, ",") (identifier "puVar12") () ")"))) (; ";")) (expression_statement "*(int *)(local_20 + 0x18) = local_1c;" (assignment_expression "*(int *)(local_20 + 0x18) = local_1c" (pointer_expression "*(int *)(local_20 + 0x18)" (* "*") (cast_expression "(int *)(local_20 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_20 + 0x18)" (( "(") (binary_expression "local_20 + 0x18" (identifier "local_20") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "local_1c")) (; ";")) (expression_statement "*(undefined4 *)(local_20 + 0x24) = local_2c;" (assignment_expression "*(undefined4 *)(local_20 + 0x24) = local_2c" (pointer_expression "*(undefined4 *)(local_20 + 0x24)" (* "*") (cast_expression "(undefined4 *)(local_20 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_20 + 0x24)" (( "(") (binary_expression "local_20 + 0x24" (identifier "local_20") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "*(undefined4 *)(local_20 + 0x20) = local_30;" (assignment_expression "*(undefined4 *)(local_20 + 0x20) = local_30" (pointer_expression "*(undefined4 *)(local_20 + 0x20)" (* "*") (cast_expression "(undefined4 *)(local_20 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_20 + 0x20)" (( "(") (binary_expression "local_20 + 0x20" (identifier "local_20") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "local_30")) (; ";")) (} "}")) (else_clause "else {\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }" (else "else") (compound_statement "{\n        do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);\n        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;\n        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        *(undefined4 *)(pSVar8 + 0x24) = local_2c;\n        *(undefined4 *)(pSVar8 + 0x20) = local_30;\n      }" ({ "{") (do_statement "do {\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);" (do "do") (compound_statement "{\n          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }\n          pSVar4 = pSVar5;\n        }" ({ "{") (if_statement "if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }\n          else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }" (if "if") (parenthesized_expression "((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_))))" (( "(") (binary_expression "(*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||\n             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))" (parenthesized_expression "(*(int *)(pSVar4 + 0x10) < local_38._0_4_)" (( "(") (binary_expression "*(int *)(pSVar4 + 0x10) < local_38._0_4_" (pointer_expression "*(int *)(pSVar4 + 0x10)" (* "*") (cast_expression "(int *)(pSVar4 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar4 + 0x10)" (( "(") (binary_expression "pSVar4 + 0x10" (identifier "pSVar4") (+ "+") (number_literal "0x10")) () ")")))) (< "<") (field_expression "local_38._0_4_" (identifier "local_38") (. ".") (field_identifier "_0_4_"))) () ")")) (|| "||") (parenthesized_expression "((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))" (( "(") (parenthesized_expression "(*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_))" (( "(") (binary_expression "*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&\n              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)" (binary_expression "*(int *)(pSVar4 + 0x10) == local_38._0_4_" (pointer_expression "*(int *)(pSVar4 + 0x10)" (* "*") (cast_expression "(int *)(pSVar4 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar4 + 0x10)" (( "(") (binary_expression "pSVar4 + 0x10" (identifier "pSVar4") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (field_expression "local_38._0_4_" (identifier "local_38") (. ".") (field_identifier "_0_4_"))) (&& "&&") (parenthesized_expression "(*(uint *)(pSVar4 + 0x14) < local_38._4_4_)" (( "(") (binary_expression "*(uint *)(pSVar4 + 0x14) < local_38._4_4_" (pointer_expression "*(uint *)(pSVar4 + 0x14)" (* "*") (cast_expression "(uint *)(pSVar4 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar4 + 0x14)" (( "(") (binary_expression "pSVar4 + 0x14" (identifier "pSVar4") (+ "+") (number_literal "0x14")) () ")")))) (< "<") (field_expression "local_38._4_4_" (identifier "local_38") (. ".") (field_identifier "_4_4_"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);\n          }" ({ "{") (expression_statement "pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);" (assignment_expression "pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc)" (identifier "pSVar5") (= "=") (pointer_expression "*(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc)" (* "*") (call_expression "(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc)" (parenthesized_expression "(Sized_dwarf_line_info<32,false> **)" (( "(") (comma_expression "Sized_dwarf_line_info<32,false> **" (binary_expression "Sized_dwarf_line_info<32" (identifier "Sized_dwarf_line_info") (< "<") (number_literal "32")) (, ",") (binary_expression "false> **" (false "false") (> ">") (pointer_expression "**" (* "*") (pointer_expression "*" (* "*") (identifier ""))))) () ")")) (argument_list "(pSVar4 + 0xc)" (( "(") (binary_expression "pSVar4 + 0xc" (identifier "pSVar4") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }" (else "else") (compound_statement "{\n            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);\n            pSVar8 = pSVar4;\n          }" ({ "{") (expression_statement "pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);" (assignment_expression "pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8)" (identifier "pSVar5") (= "=") (pointer_expression "*(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8)" (* "*") (call_expression "(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8)" (parenthesized_expression "(Sized_dwarf_line_info<32,false> **)" (( "(") (comma_expression "Sized_dwarf_line_info<32,false> **" (binary_expression "Sized_dwarf_line_info<32" (identifier "Sized_dwarf_line_info") (< "<") (number_literal "32")) (, ",") (binary_expression "false> **" (false "false") (> ">") (pointer_expression "**" (* "*") (pointer_expression "*" (* "*") (identifier ""))))) () ")")) (argument_list "(pSVar4 + 8)" (( "(") (binary_expression "pSVar4 + 8" (identifier "pSVar4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pSVar8 = pSVar4;" (assignment_expression "pSVar8 = pSVar4" (identifier "pSVar8") (= "=") (identifier "pSVar4")) (; ";")) (} "}")))) (expression_statement "pSVar4 = pSVar5;" (assignment_expression "pSVar4 = pSVar5" (identifier "pSVar4") (= "=") (identifier "pSVar5")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0)" (( "(") (binary_expression "pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0)" (identifier "pSVar5") (!= "!=") (parenthesized_expression "(Sized_dwarf_line_info<32,false> *)0x0)" (( "(") (comma_expression "Sized_dwarf_line_info<32,false> *)0x0" (binary_expression "Sized_dwarf_line_info<32" (identifier "Sized_dwarf_line_info") (< "<") (number_literal "32")) (, ",") (binary_expression "false> *)0x0" (false "false") (> ">") (pointer_expression "*)0x0" (* "*") (ERROR ")" () ")")) (number_literal "0x0")))) () ")"))) () "")) (; ";")) (if_statement "if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;" (if "if") (parenthesized_expression "((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10)))" (( "(") (binary_expression "(pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))" (parenthesized_expression "(pSVar9 == pSVar8)" (( "(") (binary_expression "pSVar9 == pSVar8" (identifier "pSVar9") (== "==") (identifier "pSVar8")) () ")")) (|| "||") (parenthesized_expression "(local_38._0_4_ < *(int *)(pSVar8 + 0x10))" (( "(") (binary_expression "local_38._0_4_ < *(int *)(pSVar8 + 0x10)" (field_expression "local_38._0_4_" (identifier "local_38") (. ".") (field_identifier "_0_4_")) (< "<") (pointer_expression "*(int *)(pSVar8 + 0x10)" (* "*") (cast_expression "(int *)(pSVar8 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar8 + 0x10)" (( "(") (binary_expression "pSVar8 + 0x10" (identifier "pSVar8") (+ "+") (number_literal "0x10")) () ")"))))) () ")"))) () ")")) (goto_statement "goto LAB_000e2e14;" (goto "goto") (statement_identifier "LAB_000e2e14") (; ";"))) (if_statement "if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }\n        else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }" (if "if") (parenthesized_expression "(*(int *)(pSVar8 + 0x10) == local_38._0_4_)" (( "(") (binary_expression "*(int *)(pSVar8 + 0x10) == local_38._0_4_" (pointer_expression "*(int *)(pSVar8 + 0x10)" (* "*") (cast_expression "(int *)(pSVar8 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar8 + 0x10)" (( "(") (binary_expression "pSVar8 + 0x10" (identifier "pSVar8") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (field_expression "local_38._0_4_" (identifier "local_38") (. ".") (field_identifier "_0_4_"))) () ")")) (compound_statement "{\n          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }" ({ "{") (if_statement "if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;" (if "if") (parenthesized_expression "(local_38._4_4_ < *(uint *)(pSVar8 + 0x14))" (( "(") (binary_expression "local_38._4_4_ < *(uint *)(pSVar8 + 0x14)" (field_expression "local_38._4_4_" (identifier "local_38") (. ".") (field_identifier "_4_4_")) (< "<") (pointer_expression "*(uint *)(pSVar8 + 0x14)" (* "*") (cast_expression "(uint *)(pSVar8 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar8 + 0x14)" (( "(") (binary_expression "pSVar8 + 0x14" (identifier "pSVar8") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (goto_statement "goto LAB_000e2e14;" (goto "goto") (statement_identifier "LAB_000e2e14") (; ";"))) (expression_statement "*(int *)(pSVar8 + 0x18) = iVar3;" (assignment_expression "*(int *)(pSVar8 + 0x18) = iVar3" (pointer_expression "*(int *)(pSVar8 + 0x18)" (* "*") (cast_expression "(int *)(pSVar8 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar8 + 0x18)" (( "(") (binary_expression "pSVar8 + 0x18" (identifier "pSVar8") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "iVar3")) (; ";")) (} "}")) (else_clause "else {\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }" (else "else") (compound_statement "{\n          *(int *)(pSVar8 + 0x18) = iVar3;\n        }" ({ "{") (expression_statement "*(int *)(pSVar8 + 0x18) = iVar3;" (assignment_expression "*(int *)(pSVar8 + 0x18) = iVar3" (pointer_expression "*(int *)(pSVar8 + 0x18)" (* "*") (cast_expression "(int *)(pSVar8 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar8 + 0x18)" (( "(") (binary_expression "pSVar8 + 0x18" (identifier "pSVar8") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "iVar3")) (; ";")) (} "}")))) (expression_statement "*(undefined4 *)(pSVar8 + 0x24) = local_2c;" (assignment_expression "*(undefined4 *)(pSVar8 + 0x24) = local_2c" (pointer_expression "*(undefined4 *)(pSVar8 + 0x24)" (* "*") (cast_expression "(undefined4 *)(pSVar8 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar8 + 0x24)" (( "(") (binary_expression "pSVar8 + 0x24" (identifier "pSVar8") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "*(undefined4 *)(pSVar8 + 0x20) = local_30;" (assignment_expression "*(undefined4 *)(pSVar8 + 0x20) = local_30" (pointer_expression "*(undefined4 *)(pSVar8 + 0x20)" (* "*") (cast_expression "(undefined4 *)(pSVar8 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar8 + 0x20)" (( "(") (binary_expression "pSVar8 + 0x20" (identifier "pSVar8") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "local_30")) (; ";")) (} "}")))) (expression_statement "piVar6 = *(int **)(this + 0x54);" (assignment_expression "piVar6 = *(int **)(this + 0x54)" (identifier "piVar6") (= "=") (pointer_expression "*(int **)(this + 0x54)" (* "*") (cast_expression "(int **)(this + 0x54)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x54)" (( "(") (binary_expression "this + 0x54" (identifier "this") (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (expression_statement "bVar1 = (uint)(local_38 + 1) < local_38._4_4_;" (assignment_expression "bVar1 = (uint)(local_38 + 1) < local_38._4_4_" (identifier "bVar1") (= "=") (binary_expression "(uint)(local_38 + 1) < local_38._4_4_" (call_expression "(uint)(local_38 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_38 + 1)" (( "(") (binary_expression "local_38 + 1" (identifier "local_38") (+ "+") (number_literal "1")) () ")"))) (< "<") (field_expression "local_38._4_4_" (identifier "local_38") (. ".") (field_identifier "_4_4_")))) (; ";")) (expression_statement "pcVar10 = *(code **)(*piVar6 + 0x10);" (assignment_expression "pcVar10 = *(code **)(*piVar6 + 0x10)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(*piVar6 + 0x10)" (* "*") (cast_expression "(code **)(*piVar6 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar6 + 0x10)" (( "(") (binary_expression "*piVar6 + 0x10" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);" (assignment_expression "uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20)" (identifier "uVar7") (= "=") (call_expression "(undefined4)((ulonglong)(local_38 + 1) >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)(local_38 + 1) >> 0x20)" (( "(") (binary_expression "(ulonglong)(local_38 + 1) >> 0x20" (call_expression "(ulonglong)(local_38 + 1)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(local_38 + 1)" (( "(") (binary_expression "local_38 + 1" (identifier "local_38") (+ "+") (number_literal "1")) () ")"))) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;" (if "if") (parenthesized_expression "(pcVar10 != (code *)PTR_do_advance_00432cfc)" (( "(") (binary_expression "pcVar10 != (code *)PTR_do_advance_00432cfc" (identifier "pcVar10") (!= "!=") (cast_expression "(code *)PTR_do_advance_00432cfc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_advance_00432cfc"))) () ")")) (goto_statement "goto LAB_000e2df8;" (goto "goto") (statement_identifier "LAB_000e2df8") (; ";"))) (} "}")))) (expression_statement "(*(code *)PTR_advance_00432c14)(piVar6 + 7);" (call_expression "(*(code *)PTR_advance_00432c14)(piVar6 + 7)" (parenthesized_expression "(*(code *)PTR_advance_00432c14)" (( "(") (pointer_expression "*(code *)PTR_advance_00432c14" (* "*") (cast_expression "(code *)PTR_advance_00432c14" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_advance_00432c14"))) () ")")) (argument_list "(piVar6 + 7)" (( "(") (binary_expression "piVar6 + 7" (identifier "piVar6") (+ "+") (number_literal "7")) () ")"))) (; ";")) (expression_statement "piVar6 = *(int **)(this + 0x54);" (assignment_expression "piVar6 = *(int **)(this + 0x54)" (identifier "piVar6") (= "=") (pointer_expression "*(int **)(this + 0x54)" (* "*") (cast_expression "(int **)(this + 0x54)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x54)" (( "(") (binary_expression "this + 0x54" (identifier "this") (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (expression_statement "pcVar10 = *(code **)(*piVar6 + 0xc);" (assignment_expression "pcVar10 = *(code **)(*piVar6 + 0xc)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(*piVar6 + 0xc)" (* "*") (cast_expression "(code **)(*piVar6 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar6 + 0xc)" (( "(") (binary_expression "*piVar6 + 0xc" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (pcVar10 == (code *)puVar2) goto LAB_000e2c90;" (if "if") (parenthesized_expression "(pcVar10 == (code *)puVar2)" (( "(") (binary_expression "pcVar10 == (code *)puVar2" (identifier "pcVar10") (== "==") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (goto_statement "goto LAB_000e2c90;" (goto "goto") (statement_identifier "LAB_000e2c90") (; ";"))) (labeled_statement "LAB_000e2d1c:\n    lVar11 = (*pcVar10)();" (statement_identifier "LAB_000e2d1c") (: ":") (expression_statement "lVar11 = (*pcVar10)();" (assignment_expression "lVar11 = (*pcVar10)()" (identifier "lVar11") (= "=") (call_expression "(*pcVar10)()" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (ERROR "}" (} "}"))

/* DWARF original prototype: void read_relocs(Sized_dwarf_line_info<32,_false> * this) */

void __thiscall
gold::Sized_dwarf_line_info<32,_false>::read_relocs(Sized_dwarf_line_info<32,_false> *this)

{
  bool bVar1;
  type_1 *puVar2;
  type_2 _Var3;
  int iVar4;
  type_3 **in_v1;
  type_3 **extraout_v1;
  type_4 p_Var5;
  type_4 p_Var6;
  var_1<32,_false> *pSVar7;
  type_5 uVar8;
  type_4 p_Var9;
  type_6 *p_Var10;
  type_3 *var_2;
  type_7 oVar12;
  type_8 *ppVar13;
  type_7 reloc_offset;
  type_7 value;
  type_7 *local_28 [2];
  int local_20;
  type_2 local_1c;
  
  puVar2 = PTR_do_next_offset_00432cf8;
  if (this->symtab_buffer_ == (type_9 *)0x0) {
    return;
  }
  p_Var10 = &(this->reloc_map_)._M_t._M_impl.super__Rb_tree_header;
LAB_000e2c7c:
  pSVar7 = this->reloc_mapper_;
  var_2 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[3];
  if (var_2 != (type_3 *)puVar2) goto LAB_000e2d1c;
LAB_000e2c90:
  oVar12 = (*(type_10 *)PTR_next_offset_00432c18)(&pSVar7->track_relocs_);
  do {
    if ((int)((ulonglong)oVar12 >> 0x20) == -1) {
      if ((int)oVar12 == -1) {
        return;
      }
    }
    ppVar13 = (type_8 *)&value;
    reloc_offset = oVar12;
    _Var3 = (*(this->reloc_mapper_->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[5])
                      (this->reloc_mapper_);
    if (_Var3 == _S_red) {
      pSVar7 = this->reloc_mapper_;
      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper;
      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;
      var_2 = in_v1[4];
      uVar8 = (type_5)((ulonglong)(reloc_offset + 1) >> 0x20);
      if (var_2 != (type_3 *)PTR_do_advance_00432cfc) {
LAB_000e2df8:
        (*var_2)(pSVar7,(uint)bVar1,uVar8);
        goto LAB_000e2c7c;
      }
    }
    else {
      p_Var5 = (this->reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;
      p_Var9 = &p_Var10->_M_header;
      if (p_Var5 == (type_4)0x0) {
LAB_000e2e14:
        local_28[0] = &reloc_offset;
        local_1c = _Var3;
        std::
        _Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>
        ::
        _M_emplace_hint_unique<const_std::type_8&,_std::tuple<long_long_int_const&>,_std::tuple<>_>
                  ((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>
                    *)&local_20,(const_iterator)&this->reloc_map_,
                   (tuple<long_long_int_const&> *)p_Var9,(tuple<> *)local_28,ppVar13);
        *(type_2 *)(local_20 + 0x18) = local_1c;
        *(type_5 *)(local_20 + 0x24) = value._4_4_;
        *(type_5 *)(local_20 + 0x20) = value._0_4_;
      }
      else {
        do {
          if (((int)p_Var5[1]._M_color < (int)reloc_offset._0_4_) ||
             ((p_Var5[1]._M_color == reloc_offset._0_4_ &&
              (*(uint *)((int)(p_Var5 + 1) + 4) < reloc_offset._4_4_)))) {
            p_Var6 = p_Var5->_M_right;
          }
          else {
            p_Var6 = p_Var5->_M_left;
            p_Var9 = p_Var5;
          }
          p_Var5 = p_Var6;
        } while (p_Var6 != (type_4)0x0);
        if ((p_Var10 == (type_6 *)p_Var9) ||
           ((int)reloc_offset._0_4_ < (int)((type_6 *)p_Var9)->_M_node_count))
        goto LAB_000e2e14;
        if (((type_6 *)p_Var9)->_M_node_count == reloc_offset._0_4_) {
          if (reloc_offset._4_4_ < *(uint *)((int)p_Var9 + 0x14)) goto LAB_000e2e14;
          *(type_2 *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;
        }
        else {
          *(type_2 *)((undefined1 *)((int)p_Var9 + 0x14) + 4) = _Var3;
        }
        *(type_5 *)((undefined1 *)((int)p_Var9 + 0x14) + 0x10) = value._4_4_;
        *(type_5 *)((undefined1 *)((int)p_Var9 + 0x14) + 0xc) = value._0_4_;
      }
      pSVar7 = this->reloc_mapper_;
      bVar1 = (uint)(reloc_offset + 1) < reloc_offset._4_4_;
      in_v1 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper;
      var_2 = in_v1[4];
      uVar8 = (type_5)((ulonglong)(reloc_offset + 1) >> 0x20);
      if (var_2 != (type_3 *)PTR_do_advance_00432cfc) goto LAB_000e2df8;
    }
    (*(type_10 *)PTR_advance_00432c14)(&pSVar7->track_relocs_);
    pSVar7 = this->reloc_mapper_;
    var_2 = (pSVar7->super_Elf_reloc_mapper)._vptr_Elf_reloc_mapper[3];
    in_v1 = extraout_v1;
    if (var_2 == (type_3 *)puVar2) goto LAB_000e2c90;
LAB_000e2d1c:
    iVar4 = (*var_2)();
    oVar12 = CONCAT44(iVar4,in_v1);
  } while( true );
}


(translation_unit (declaration type: (primitive_type) declarator: (ms_call_modifier) (ERROR (identifier)) declarator: (identifier) (ERROR (number_literal)) (ERROR (identifier) (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier)) (ERROR (number_literal)) (parameter_declaration type: (type_identifier) (ERROR) declarator: (pointer_declarator declarator: (identifier))))) (primitive_type)) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (update_expression argument: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) (ERROR (false)) right: (pointer_expression argument: (identifier))) operator: (MISSING "--"))) (expression_statement (update_expression argument: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) (ERROR (false)) right: (pointer_expression argument: (identifier))) operator: (MISSING "--"))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (update_expression argument: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) (ERROR (false)) right: (pointer_expression argument: (identifier))) operator: (MISSING "--"))) (expression_statement (update_expression argument: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) (ERROR (false)) right: (pointer_expression argument: (identifier))) operator: (MISSING "--"))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (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 (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (return_statement))))) (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: (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))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator 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: (number_literal)))) right: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (call_expression function: (parenthesized_expression (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (false) right: (pointer_expression argument: (pointer_expression argument: (MISSING identifier)))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (false) right: (pointer_expression (ERROR) argument: (number_literal)))))) (MISSING ")")) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (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)))) alternative: (else_clause (compound_statement (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (field_expression argument: (identifier) field: (field_identifier)))) 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: (field_expression argument: (identifier) field: (field_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: (field_expression argument: (identifier) field: (field_identifier))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (call_expression function: (parenthesized_expression (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (false) right: (pointer_expression argument: (pointer_expression argument: (MISSING identifier)))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (call_expression function: (parenthesized_expression (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (false) right: (pointer_expression argument: (pointer_expression argument: (MISSING identifier)))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (false) right: (pointer_expression (ERROR) argument: (number_literal)))))) (MISSING ")"))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_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))))))))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (field_expression argument: (identifier) field: (field_identifier)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_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))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) consequence: (goto_statement label: (statement_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 (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))))) condition: (parenthesized_expression (true))) (ERROR))

/* gold::Sized_dwarf_line_info<32, false>::MASKED() */

void __thiscall
gold::Sized_dwarf_line_info<32,false>::MASKED(Sized_dwarf_line_info<32,false> *this)

{
  bool bVar1;
  undefined *puVar2;
  int iVar3;
  Sized_dwarf_line_info<32,false> *pSVar4;
  Sized_dwarf_line_info<32,false> *pSVar5;
  int *piVar6;
  undefined4 uVar7;
  Sized_dwarf_line_info<32,false> *pSVar8;
  Sized_dwarf_line_info<32,false> *pSVar9;
  code *pcVar10;
  longlong lVar11;
  undefined4 *puVar12;
  undefined8 local_38;
  undefined4 local_30;
  undefined4 local_2c;
  undefined8 *local_28 [2];
  int local_20;
  int local_1c;
  
  puVar2 = PTR_do_next_offset_00432cf8;
  if (*(int *)(this + 0x5c) == 0) {
    return;
  }
  pSVar9 = this + 0x84;
LAB_000e2c7c:
  piVar6 = *(int **)(this + 0x54);
  pcVar10 = *(code **)(*piVar6 + 0xc);
  if (pcVar10 != (code *)puVar2) goto LAB_000e2d1c;
LAB_000e2c90:
  lVar11 = (*(code *)PTR_next_offset_00432c18)(piVar6 + 7);
  do {
    if ((int)((ulonglong)lVar11 >> 0x20) == -1) {
      if ((int)lVar11 == -1) {
        return;
      }
    }
    puVar12 = &local_30;
    local_38 = lVar11;
    iVar3 = (**(code **)(**(int **)(this + 0x54) + 0x14))(*(int **)(this + 0x54));
    if (iVar3 == 0) {
      piVar6 = *(int **)(this + 0x54);
      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;
      pcVar10 = *(code **)(*piVar6 + 0x10);
      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);
      if (pcVar10 != (code *)PTR_do_advance_00432cfc) {
LAB_000e2df8:
        (*pcVar10)(piVar6,bVar1,uVar7);
        goto LAB_000e2c7c;
      }
    }
    else {
      pSVar4 = *(Sized_dwarf_line_info<32,false> **)(this + 0x88);
      pSVar8 = pSVar9;
      if (pSVar4 == (Sized_dwarf_line_info<32,false> *)0x0) {
LAB_000e2e14:
        local_28[0] = &local_38;
        local_1c = iVar3;
        FUN_000d6c14(&local_20,this + 0x80,pSVar8,local_28,puVar12);
        *(int *)(local_20 + 0x18) = local_1c;
        *(undefined4 *)(local_20 + 0x24) = local_2c;
        *(undefined4 *)(local_20 + 0x20) = local_30;
      }
      else {
        do {
          if ((*(int *)(pSVar4 + 0x10) < local_38._0_4_) ||
             ((*(int *)(pSVar4 + 0x10) == local_38._0_4_ &&
              (*(uint *)(pSVar4 + 0x14) < local_38._4_4_)))) {
            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 0xc);
          }
          else {
            pSVar5 = *(Sized_dwarf_line_info<32,false> **)(pSVar4 + 8);
            pSVar8 = pSVar4;
          }
          pSVar4 = pSVar5;
        } while (pSVar5 != (Sized_dwarf_line_info<32,false> *)0x0);
        if ((pSVar9 == pSVar8) || (local_38._0_4_ < *(int *)(pSVar8 + 0x10))) goto LAB_000e2e14;
        if (*(int *)(pSVar8 + 0x10) == local_38._0_4_) {
          if (local_38._4_4_ < *(uint *)(pSVar8 + 0x14)) goto LAB_000e2e14;
          *(int *)(pSVar8 + 0x18) = iVar3;
        }
        else {
          *(int *)(pSVar8 + 0x18) = iVar3;
        }
        *(undefined4 *)(pSVar8 + 0x24) = local_2c;
        *(undefined4 *)(pSVar8 + 0x20) = local_30;
      }
      piVar6 = *(int **)(this + 0x54);
      bVar1 = (uint)(local_38 + 1) < local_38._4_4_;
      pcVar10 = *(code **)(*piVar6 + 0x10);
      uVar7 = (undefined4)((ulonglong)(local_38 + 1) >> 0x20);
      if (pcVar10 != (code *)PTR_do_advance_00432cfc) goto LAB_000e2df8;
    }
    (*(code *)PTR_advance_00432c14)(piVar6 + 7);
    piVar6 = *(int **)(this + 0x54);
    pcVar10 = *(code **)(*piVar6 + 0xc);
    if (pcVar10 == (code *)puVar2) goto LAB_000e2c90;
LAB_000e2d1c:
    lVar11 = (*pcVar10)();
  } while( true );
}

